系列文章目录
基于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.编写亮度区间显示
①,开发UI和绑定控件
此步骤和黑电平开发基本一致,此处省略
②,开发亮度区间显示
目前实现的循环判断亮度值的方法比较吃力不讨好,有较大优化空间。
#处理亮度阈值
def proc_image_gray_threshold(image_rgb,min,max):
print("proc_image_gray_threshold,",min,max)
width = image_rgb.shape[0]
height = image_rgb.shape[1]
dim = image_rgb.shape[2]
#使用阈值处理
#threshold,threshold_img=cv2.threshold(image_rgb,min,max,cv2.THRESH_BINARY)
#print("threshold:", threshold)
#使用双阈值处理,小于最小值显示黑色,大于最大值显示白色
threshold_img=image_rgb
for i in range(width):
for j in range(height):
#print(image_rgb[i][j][0],image_rgb[i][j][1],image_rgb[i][j][2])
y=(image_rgb[i][j][0].astype(np.int)+image_rgb[i][j][1].astype(np.int)+image_rgb[i][j][2].astype(np.int))/3
#print(y)
if y < min:
threshold_img[i][j] = (0,0,0)
elif y <= max:
threshold_img[i][j] = image_rgb[i][j]
else:
threshold_img[i][j] = (255,255,255)
return threshold_img
③,演示
原图
点击亮度处理,设置亮度区间的最小值和最大值,能看到在这个图像亮度区间的效果。
总结
图像亮度区间显示在图像效果调优中有时候很有用,比如调节gamma或者曝光的时候检查不知道实际某一区间图像亮度在哪个范围,使用本工具可以快速实现。