首页 > 编程知识 正文

直方图均衡化原理详解,直方图均衡化的步骤

时间:2023-05-06 17:44:24 阅读:51448 作者:1355

直方图均衡原理和一、直方图

1.1直方图概念

在图像处理中,经常使用颜色直方图、灰度直方图等直方图。

的灰度直方图表示图像中的灰度分布的状况,能够直观地表示图像中的各灰度等级占多少。 的灰度直方图是灰度级的函数,描述图像中具有该灰度级的像素的数量。 其中,横轴是灰度级,纵轴是该灰度级的出现率。 如下图所示

1.2直方图的性质

直方图反映了图像中的灰度分布规律。 描述每个灰度的像素数,但不包括这些像素在图像中的位置信息。 直方图不介意像素所在的空间位置,所以不受图像的旋转或平移变化的影响,能够成为图像的特征。

所有特定图像都支持唯一的直方图,但不同的图像可以具有相同的直方图。

如果一个图像有两个不相连的区域,并且知道各个区域的直方图,则整个图像的直方图就是这两个区域的直方图之和。

1.3直方图的应用

下图是四个常见直方图的灰度分布规律

如果需要将上图中灰度较暗、较亮或集中的直方图调整为灰度均匀分布的直方图,则必须使用直方图均衡算法。

二、直方图均衡化

2.1直方图均衡化概念

直方图均衡(Histogram Equalization )是提高图像对比度的方法。 主要思想是通过利用累积分布函数使一个图像的直方图分布成为大致均匀的分布,来提高图像的对比度。 为了扩展原图像的亮度范围,需要将原图像的像素值平衡地映射到新直方图的映射函数。 此映射函数有两个条件:

不能打乱原始像素值大小顺序,不能改变映射后亮、暗的大小关系;

映射后必须在原范围内。 即,像素映射函数值域必须在0和255之间;

综合以上两个条件,累积分布函数是一个很好的选择。 由于累积分布函数是单调增加函数(控制大小关系),且值域为0至1 ),所以在直方图的平均化中使用累积分布函数。

2.2累积分布函数的数学原理

由于图像由一个个像素点组成,所以图像直方图的平均化通过离散的累积分布函数求解。 在直方图平均化过程中,映射方法如下。

其中,s_k是当前灰度等级由累积分布函数映射的值,n是图像中的像素的总和,n_j是当前灰度等级的像素数,l是图像中的灰度等级的总数。

(直方图均衡数学原理,详见https://blog.csdn.net/superjunenaruto/article/details/52431941 ) )。

2.3直方图均衡化的步骤

依次扫描原始灰度图像的各像素,计算图像的灰度直方图;

计算灰度直方图的累积分布函数

根据累积分布函数和直方图平差原理,得到输入与输出的映射关系。

最后根据映射关系得到的结果进行图像转换

2.4参考以下示例,直方图均衡原理和过程三、代码块及实现效果

3.1代码块

导入c v2导入端口numpyasnpfrommatplotlibimportpyplotasplt ' ' calc hist -计算图像直方图函数原型: calc hist (图像、通道、掩码、 隐藏聚焦=无(images )图像矩阵,例如,“图像通道”通道数,例如,0掩模,通常为)无隐藏聚焦一般为灰度数ranges )与横轴范围'''相等的exercisespringfestivalholidaylenna.png ',0 ) #灰度图像的直方图hist=cv2.calc hist [0] 256 ) PLT.figure(#图像PLT.title(grayscaleHistogram ) (PLT.xlabel ) ) x轴标签PLT.ylabel ) # ofpixel ) ) ) ) ) )创建新的256 ) ) x坐标轴范围plt.show () ' ' equalize hist -直方图均衡函数原型: equalize hist-) src DST=none(src )图像矩阵(单通道图像) dst )缺省情况下,“' #灰度图像直方图均衡dst=cv2.equalizehist ) img”直方图hist=cvvt [0] 256 ) PLT.figure(PLT.hist ) dst.ravel ),256 ) plt.show ) cv2.imshow ) ' Histogramequalization ',NP.h

源图表直方图

均衡化处理后直方图

源图与平差处理后的对比效果

3.3彩色直方图均衡码块

#彩色图像直方图均衡img=cv2.imread(Lenna.png )、1 ) cv2.imshow )、img )彩色图像均衡需要按通道分解通道进行均衡) b、g、 r )=cv2.split(img ) bH=cv2.equalizeHist(b ) gH=cv2.equalizeHist(g ) g ) rH=cv2.equalizeHist(r ) r

1、直方图均衡原理: https://www.cn blogs.com/tianyalu/p/5687782.html

2、直方图平差的数学原理: https://blog.csdn.net/superjunenaruto/article/details/52431941

3、直方图均衡知识和方法: https://环岛局域网.智湖.com/p/44918476

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。