一、gamma曲线图
二、gamma曲线函数
import numpy as np import matplotlib.pyplot as plt # 设置中文字体(确保系统支持,否则回退到英文) plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS', 'DejaVu Sans'] plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题 # 1. 生成归一化的输入像素值(0~1) x = np.linspace(0, 1, 300) # 2. 定义要绘制的 Gamma 值(小于1变亮,等于1线性,大于1变暗) gamma_values = [0.1, 0.2, 0.5, 0.8, 1.0, 1.5, 2.0, 3.0, 5.0] # 3. 创建画布 plt.figure(figsize=(10, 8), dpi=120) # 4. 遍历并绘制每条曲线 for gamma in gamma_values: y = x ** gamma # 根据 gamma 值微调线宽:突出显示 gamma=1 的参考线 lw = 2.5 if gamma == 1.0 else 1.8 linestyle = '--' if gamma == 1.0 else '-' plt.plot(x, y, label=f'γ = {gamma}', linewidth=lw, linestyle=linestyle) # 5. 添加参考对角线(y = x)的辅助标记(虽然gamma=1已在图中) # 这里额外添加一条浅灰色虚线作为视觉参考 plt.plot([0, 1], [0, 1], 'k--', linewidth=1, alpha=0.3, label='_nolegend_') # 6. 修饰图表 plt.xlabel('输入像素值(归一化)', fontsize=13) plt.ylabel('输出像素值(归一化)', fontsize=13) plt.title('不同 Gamma 值对应的校正曲线(幂律变换)', fontsize=15, fontweight='bold')