目录
1 直方图
2 直方图均衡化
3 直方图规定化
灰度直方图:一幅灰度图像中各灰度级像素出现的频率。
以灰度级为横坐标,纵坐标为灰度级出现的频率。反映了图像灰度分布情况。
直方图变换考虑了整图的灰度值分布。
对于彩色图像,可以对不同的通道分别统计直方图。
(1)代码
import cv2
from matplotlib import pyplot as plt
def run(img_path):
img = cv2.imread(img_path, 0)
plt.subplot(1, 2, 1)
plt.imshow(img, 'gray')
plt.title("img")
plt.subplot(1, 2, 2)
plt.hist(img.ravel(), 256, [0, 256])
plt.title("hist")
plt.show()
if __name__ == '__main__':
run("test_rgb.jpg")
pass
(2)结果图
(1)直方图均衡化
调整原始图像的直方图(灰度概率分布图),使之呈均衡分布的样式,以达到灰度级均衡的效果,可有效增强图像的整体对比度。
(2)直方图均衡化的作用?
改善过暗过亮以及不清晰的点。整图处理。
(3)代码
import cv2
from matplotlib import pyplot as plt
def run(img_path):
img = cv2.imread(img_path, 0)
equal_1 = cv2.equalizeHist(img)
plt.subplot(2, 1, 1)
plt.hist(img.ravel(), 256, [0, 256], label='originalhist')
plt.subplot(2, 1, 2)
plt.hist(equal_1.ravel(), 256, [0, 256], label='equalize')
plt.legend()
plt.show()
if __name__ == '__main__':
run("test_rgb.jpg")
pass
(4)结果图
(1)直方图规定化
调整原始图像的直方图,使其概率分布逼近目标直方图的概率分布。
需要根据经验知识进行调整。
特定灰度区间处理。