直方图
原理
正常的图片使用RGB三个通道的,分别对每一个像素在这三个通道上的数值进行统计可得直方图。可以研究亮度分布直方图来验证直方图的性质
- 直方图反映了图像的动态范围,也就是对比度
- 若图像质量较高,则其灰度分布应该较为均匀。
- 一幅图像的部分直方图合并之后与整体直方图相同
- 直方图并不能反映图像像素的灰度位置分布
代码
opencv
img = cv.imread('img/cat1.jpg')
gray_img = cv.imread('img/cat1.jpg', 0)
plt.hist(img[int(i/2)].ravel(), 256, [0, 256],)
PIL
im = array(Image.open('./img/cat1.jpg').convert('L'))
gray()
imshow(im)
figure()
hist(im.flatten(),128)
rcParams['font.sans-serif'] = ['SimHei']
title('原图直方图')
show()