【OpenCV 例程300篇】50. 直方图处理之直方图统计量图像增强

『youcans 的 OpenCV 例程300篇 - 总目录』


【youcans 的 OpenCV 例程300篇】50. 直方图处理之直方图统计量图像增强


图像直方图是反映图像像素分布的统计表。 灰度直方图是图像灰度级的函数,用来描述每个灰度级在图像矩阵中的像素个数。

直方图统计量图像增强,是基于直方图的统计量信息(如均值和方差)对图像的灰度和对比度进行调整。直方图统计量不仅用于图像的全局增强,在图像局部增强中更加有效。

局部均值和方差是根据像素邻域特征进行灰度调整的基础。像素邻域的局部均值是平均灰度的测度,局部方差是对比度的测度。使用局部均值和方差可以开发出简单而强大的图像局部增强算法。

以下基于 Rafael C. Gonzalez “Digital Image Processing (4th.Ed.)” 中的方法和案例进行介绍。

增强后的图像 g(x,y) 与原始图像 f(x,y) 的修正公式为:

g ( x , y ) = { C ∗ f ( x , y ) , ( k 0 m G < m ( S x y ) < k 1 m G ) a n d ( k 2 σ G < σ ( S x y ) < k 3 σ G ) f ( x , y ) , C = m a x ( r G l o b a l ) / m a x ( r R O I ) g(x,y)= \begin{cases} C*f(x,y) ,(k_0 m_G < m(S_{xy}) <k_1 m_G) and (k_2 \sigma_G < \sigma(S_{xy}) <k_3 \sigma_G)\\ f(x,y) , \end{cases}\\ C = max(r_{Global})/max(r_{ROI}) g(x,y)={Cf(x,y),(k0mG<m(Sxy)<k1mG)and(k2σG<σ(Sxy)<k3σG)f(x,y),C=max(rGlobal)/max(rROI)

如果待增强区域相对平均灰度更暗,可以选择 k 0 = 0 , k 1 = 0.1 k_0 = 0, k_1 = 0.1 k0=0,k1=0.1;如果待增强区域的对比度很低,可以选择 k 2 = 0 , k 3 = 0.1 k_2 = 0, k_3 = 0.1 k2=0,k3=0.1

需要指出的是,这种方法只对某些特殊类型的图像有效,而且需要针对具体图像进行 ROI 设置和参数调节,才能取得较好的图像增强效果。


基本例程:1.63 直方图统计量图像增强

    # # 1.63 直方图统计量图像增强
    img = cv2.imread("../images/Fig0326a.tif", flags=0)  # flags=0 读取为灰度图像

    imgROI = img[12:120, 12:120]
    maxImg, maxROI = img.max(), imgROI.max()
    const = maxImg / maxROI
    imgHSE = enhanceHistStat(img, const)  # 子程序:直方图统计量增强 (自定义方法)

    plt.figure(figsize=(10, 6))
    plt.subplot(131), plt.title("Original image"), plt.axis('off')
    plt.imshow(img, cmap='gray', vmin=0, vmax=255)
    plt.subplot(132), plt.title("Global equalize histogram"), plt.axis('off')
    imgEqu = cv2.equalizeHist(img)  # 使用 cv2.qualizeHist 完成直方图均衡化变换
    plt.imshow(imgEqu, cmap='gray', vmin=0, vmax=255)
    plt.subplot(133), plt.title("Histogram statistic enhance"), plt.axis('off')
    plt.imshow(imgHSE, cmap='gray', vmin=0, vmax=255)
    plt.show()

在这里插入图片描述


(本节完)


版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/125112487)
Copyright 2022 youcans, XUPT
Crated:2021-11-18

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youcans_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值