使用 Python OpenCv 模块进行直方图均衡化


这是一种使用图像直方图进行对比度调整的图像处理方法。

实际上,此方法通常会增加许多图像的全局对比度,尤其是在图像的可用数据由接近的对比度值表示时,并且通过此调整,强度可以在直方图上得到更好的分布,并且它允许较低局部对比度的区域获得更高的对比度。

OpenCV 有一个函数可以执行此操作,cv2.equalizeHist(),其输入只是灰度图像,输出是直方图均衡的图像。

当图像的直方图局限于特定区域时,此技术很不错,在强度变化很大并且直方图覆盖了大区域的地方,它不起作用,即同时存在明亮像素和暗像素。

输入

Madanmohan Temple

示例代码

import cv2
# import Numpy
import numpy as np
# reading an image using imreadmethod
my_img = cv2.imread('C:/Users/TP/Pictures/west bengal/bishnupur/pp.jpg', 0)
equ = cv2.equalizeHist(my_img)
# stacking both the images side-by-side orientation
res = np.hstack((my_img, equ))
# showing image input vs output
cv2.imshow('image', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出

Madanmohan Output

更新于:30-7-2019

浏览 616 次

开启 职业 生涯

通过完成课程获取认证

开始
广告