您现在的位置是:首页 > 文章详情

大白话直方图均衡

日期:2019-07-09点击:369

用一句大白话说一下直方图均衡的概念,直方图均衡(histogram equalization)是通过让原图的每个像素点的灰度值通过某个函数变换成另一个值,来提高原图的对比度,具体的函数方程为output = L*T(input)其中output为映射后的灰度值,L为灰度级255,T(r)为灰度值r的累积分布概率,计算方法:灰度值为r及以下的像素点总个数数/总像素点数。
对于数学上的一些分析,这里就不写了,想了解具体的可以看这里
以下是效果图片和代码:

原图


histogram_equalize
Figure_1

直方图均衡之后


his_equa_out
Figure_1_1
# img_hist = cv2.calcHist(img, [1], None, [256], [0, 256])另一个计算直方图的函数 plt.hist(img[:,:,0].flatten(), 256, [0, 256], color = 'r') # plt.plot(img_hist) plt.title('original') plt.show() img_yuv = cv2.cvtColor(img, cv2.COLOR_BGR2YUV) # equalize the histogram of the Y channel img_yuv[:,:,0] = cv2.equalizeHist(img_yuv[:,:,0]) # only for 1 channel plt.hist(img_yuv[:,:,0].flatten(), 256, [0, 256], color='r') img_output = cv2.cvtColor(img_yuv, cv2.COLOR_YUV2BGR) # y: luminance # img_equalized_hist = cv2.calcHist(img_yuv, [1], None, [256], [0, 256]) # plt.plot(img_equalized_hist) plt.title('equalized') plt.show() # convert the YUV image back to RGB format cv2.imwrite(path, img_output) cv2.imshow('Color input image', img) cv2.imshow('Histogram equalized', img_output) key = cv2.waitKey(0) cv2.destroyAllWindows()
原文链接:https://yq.aliyun.com/articles/708333
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章