系列文章目录
基于PyQt5的桌面图像调试仿真平台开发(1)环境搭建
基于PyQt5的桌面图像调试仿真平台开发(2)UI设计和控件绑定
基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理
基于PyQt5的桌面图像调试仿真平台开发(4)白平衡处理
基于PyQt5的桌面图像调试仿真平台开发(5)亮度处理
基于PyQt5的桌面图像调试仿真平台开发(6)去马赛克
基于PyQt5的桌面图像调试仿真平台开发(7)伽马矫正
基于PyQt5的桌面图像调试仿真平台开发(8)锐化
基于PyQt5的桌面图像调试仿真平台开发(9)去噪
基于PyQt5的桌面图像调试仿真平台开发(10)色彩矩阵
基于PyQt5的桌面图像调试仿真平台开发(11)清晰度测试
基于PyQt5的桌面图像调试仿真平台开发(12)图像灰度显示
基于PyQt5的桌面图像调试仿真平台开发(13)图像边缘显示
基于PyQt5的桌面图像调试仿真平台开发(14)色彩增强
基于PyQt5的桌面图像调试仿真平台开发(15)图像融合
工程代码:https://gitee.com/xiaoshixiao00/py-ispp
目录
系列文章目录
前言
一、伽马矫正是什么?
二、开发步骤和演示
1.怎么实现
2.编写和显示
前言
前面学习了去马赛克,通过opencv的cvtColor实现raw图转rgb图像,接下来学习gamma映射的实现。
一、伽马矫正是什么?
Gamma源于CRT(显示器/电视机)的响应曲线,即其亮度与输入电压的非线性关系。在视频系统,线性光Intensity通过Gamma校正转换为非线性的视频信号,通常在摄像过程内完成。一个理想的Gamma校正通过相反的非线性转换把该转换反转输出来。
二、开发步骤和演示
1.怎么实现
gamma映射主要可以通过幂律转换实现。将灰度值当做底数,幂率值当做指数。
255*np.power(image_rgb/255,power)
2.编写和显示
①,开发图像ui控件和绑定事件
参考基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理_上天肖的博客-CSDN博客
②,算法开发实现
使用numpy的指数方法实现gamma映射。
#gamma映射
def proc_image_gamma_mapping(image_rgb,power):
print("proc_image_gamma_mapping,",power)
result = 255*np.power(image_rgb/255,power)
result = np.around(result)
result = result.clip(0,255).astype('uint8') #用小数保存图像会导致图像异常(竖条纹),所以要进行类型转换
#print("img:",image_rgb,"result:",result)
return result
③,演示
导入raw图像
点击伽马校正,输入幂率参数,参数值越大,指数越大,图像越偏暗。
总结
gamma矫正能够将图像亮度分布矫正到一个合适的区间。