1 直方图
图像的直方图用来表征该图像像素值的分布情况。用一定数目的小区间(bin)来指定表征像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目。(灰度)图像的直方图可以使用 hist() 函数绘制。hist() 函数的第二个参数指定小区间的数目。需要注意的是,因为 hist() 只接受一维数组作为输入,所以我们在绘制图像直方图之前,必须先对图像进行压平处理。flatten() 方法将任意数组按照行优先准则转换成一维数组。相应示例如下:
代码:
from PIL import Image
from pylab import *
# 读取图像到数组中
im = np.array((Image.open('ch2.jpg').convert('L')))
# 新建一个图像
figure()
subplot(2,1,1)
imshow(Image.open('ch2.jpg'))
# 压平处理
subplot(2,1,2)
hist(im.flatten(