参考教材:计算机视觉编程 【人民邮电出版社】
语言:python
软件:VS code
原始图像
直方图
图像的直方图可以用来表征该图像像素值的分布情况。用一定数目的小区间(bin)来指定表征像素值得范围,每个小区间对得到落入该小区间表示范围的像素数目。该图像的直方图可以用hist()函数绘制:
hist()函数的第二个参数指定小区间的数目。hist()函数值接受一维数组作为输入,所以需要对图像进行压平处理。flatten()方法将任意数组按照行优先准则转换为一维数组。
直方图均衡化
直方图均衡化是指将一副图像的灰度直方图变平,使变换后的图像中每个灰度值得分布概率相同。在对图像做进一步处理之前,直方图均衡化通常是对图像灰度值进行归一化的一个非常好的方法,并且可以增强图像的对比度。
在这种情况下,直方图均衡化的变换函数是图像中像素值的累计分布函数(cdf,将像素值的范围映射到目标范围的归一化操作)
左边为变换前的直方图,中间为变换函数,右边为变换后的直方图。
高斯滤波
图像的高斯模糊是非常经典的图像卷积例子,图像模糊就是将(灰度)图像I和一个高斯核进行卷积操作:其中*表示卷积操作,是标准差为σ的二核高斯核,定义为:
高斯模糊通常是其他图像处理操作的一部分,比如图像插值操作、兴趣点计算等
从左到右分别为:原始灰度图像;使用σ=2的高斯滤波器;使用σ=5的高斯滤波器;使用σ=10的高斯滤波器