一、直方图
1. 原理描述
直方图是可以对整幅图的灰度分布进行整体了解的图示,通过直方图我们可以对图像的对比度、亮度和灰度分布等有一个直观了解。
图像的直方图用来表征该图像像素值的分布情况。用一定数目的小区间(bin)来指定表征像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目。该(灰度)图像的直方图可以使用hist()函数绘制。
from PIL import Image
from pylab import *
# 添加中文字体支持
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\SimSun.ttc", size=14)
'''
Parameters:
path - 文件路径
Returns:
无
'''
# 函数说明:绘制图像灰度直方图
def histogram(path):
img = array(Image.open(path))
img_gray = array(Image.open(path).convert('L'))
figure()
subplot(221)
axis('off')
title(u'原图像', fontproperties=font)
imshow(img)
subplot(222)
axis('off')
gray()
title(u'灰度图像', fontproperties=font)
imshow(img_gray)
subplot(212)
title(u'灰度直方图', fontp