首页 > 编程知识 正文

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

时间:2023-05-06 19:42:55 阅读:51453 作者:1841

关于直方图均衡化我一直想写文章简要介绍这个原理。

对于给定图像,所有像素点的分布在给定阈值内可能非常密集或稀疏。 为了进一步强调图像的对比度信息,尝试使像素的分布均匀,换言之,使同一阈值区间内的像素点数尽量相同。

关于直方图均衡化的理论基础概率的分布函数。 简单地说,在连续型随机变量的情况下,分布函数等于随机变量在某个区间的概率密度函数的积分。 分布函数可以简单地理解为发生累计的概率。 对于离散型随机变量来说,分布函数是每个离散点发生概率的累积。

在介绍概率的基础后,介绍基于该原理实现直方图均衡化的方法。

1 .首先计算整个图像的直方图

2 .根据直方图求出每个像素点发生的概率

3 .将对应于每个像素点的概率乘以动态范围(例如,8bit=255 )并下采样后获得平均化后的图像。

很多博主举例计算,后来陆续附上matlab和python的实现,以及最近其他直方图算法的研究。

importnumpyimportpylabimportcv2importmatplotlib.pyplotaspltdefhisteq (im,nbr_bins=65536 ) 3360print ) im.shape,in dtype=numpy.int16 ) # Calculate the histogram imhist,bins=numpy.histograation NBR _ bins-1 ), density=false (# calculatetheprobabilitydensityfunctionofthesub-histogramhistpdf=imhist/numpy.float 32 (im.size ) derivethecumulativehistogramcdf=hist pdf.cumsum (# histogramequalizationforeachofthesub-histograms fl=255 * CD ffl=fpl im.shape(0) ) : for j in range(0) 0,im.shape(0) ) :img[I][j]=fl(im[I] 1) pylab.plot(xr,) fall=histeq(img,nbr_bins=65536 ) PLT.subplot(221 )、plt.show ) new_img、' gray ' )、PLT.title ) TT

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