数字图像处理(入门篇)八 图像数据预处理之直方图

数字图像处理(入门篇)八 图像数据预处理之直方图_第1张图片

 

目录

1 直方图

2 直方图均衡化

3 直方图规定化

1 直方图

灰度直方图:一幅灰度图像中各灰度级像素出现的频率。

以灰度级为横坐标,纵坐标为灰度级出现的频率。反映了图像灰度分布情况。

直方图变换考虑了整图的灰度值分布。

对于彩色图像,可以对不同的通道分别统计直方图。

(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)结果图

数字图像处理(入门篇)八 图像数据预处理之直方图_第2张图片

 

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)结果图

数字图像处理(入门篇)八 图像数据预处理之直方图_第3张图片

 

3 直方图规定化

(1)直方图规定化

调整原始图像的直方图,使其概率分布逼近目标直方图的概率分布。

需要根据经验知识进行调整。

特定灰度区间处理。

你可能感兴趣的:(数字图像处理,计算机视觉,python,图像处理)