基于PyQt5的桌面图像调试仿真平台开发(14)色彩增强

系列文章目录

基于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.编写和测试


前言

        色彩增强和前面的色彩校正有一定区别,色彩校正是手动调节图像色彩,而色彩增强是自动调节,相对来说更具有一定普遍性。常见的色彩增强算法是retinex色彩增强算法,包含ssr、msr等方法。


一、是什么?

        Retinex算法是一种用于图像增强和颜色还原的算法。它通过模拟人类视觉系统的对色彩的感知来实现。Retinex算法的核心思想是将图像分解成反射和亮度两个成分,然后对它们进行独立的处理,再将它们组合起来得到增强后的图像。。

二、开发步骤和演示

1.怎么实现

        参考(二)Retinex原理以及python实现 - 简书,简要公式如下:

        

2.编写和测试

①,开发图像ui控件和绑定事件

参考基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理_上天肖的博客-CSDN博客

②,算法开发实现

        主要步骤按照1、高斯模糊,2、对数变换,3对数相乘,4对数相减,5归一化。进行

# retinex ssr
def ssr(src_img, size):
    print("高斯模糊")
    l_blur = cv2.GaussianBlur(src_img, (size, size), 0)
    print("替换0位非最小")
    img = replacezeroes(src_img)
    print("替换0位非最小")
    l_blur = replacezeroes(l_blur)
    print("对数变换")
    dst_img = cv2.log(img / 255.0)
    print("对数变换")
    dst_lblur = cv2.log(l_blur / 255.0)
    print("对数相乘")
    dst_ixl = cv2.multiply(dst_img, dst_lblur)
    print("对数相减")
    log_r = cv2.subtract(dst_img, dst_ixl)
    print("归一化")
    dst_r = cv2.normalize(log_r, None, 0, 255, cv2.NORM_MINMAX)
    print("转换尺度")
    log_uint8 = cv2.convertScaleAbs(dst_r)
    print("ssr end")
    return log_uint8

③,演示

导入原图像

 点击色彩增强,弹出框中勾选retinex,点击确定。右图显示增强后的结果,可以看到实际亮度增强很大,因为从ssr原理来说,主要两个操作一下了图像,一个是高斯模糊,这个操作导致图像清晰度下降,另外一个操作时对数变换,这个操作导致图像亮度会有一定程度上涨。

基于PyQt5的桌面图像调试仿真平台开发(14)色彩增强_第1张图片


 总结

retinex中的高斯模糊和对数变换对图像起主导作用。

你可能感兴趣的:(python,图像处理,python,pyqt5,图像处理)