图像的灰度直方图介绍

先要介绍一个概念:点运算

         点运算指的是对图像中的每个像素依次进行同样的灰度变换运算。设r和s分别是输入图像f(x,y) 和输出图像g(x,y) 在任意一点(x,y)的灰度值,则点运算可以使用如下定义:

s = T(r)

         其中,T为采用的点运算的算子,表示在原始图像和输出图像之间的某种灰度级映射关系。点运算常常用于改变图像的灰度范围及分布,是图像数字化及图像显示时常常需要的工具。点运算因起作用性质有时也被称为对比度(灰度图像最大亮度与最小亮度之比)增强、对比度拉伸或灰度变换。

 

灰度直方图:

         灰度直方图描述了一幅图像的绘图统计信息,主要应用于图像分割和图像灰度变换等处理过程中。从数学上说它是一个关于灰度的函数,如令x表示灰度值(一般0≤x≤255),则f(x)表示当x为特定灰度时,一幅图像上灰度值为x的像素的数量,要注意的是这里的函数f(x)是一个离散的函数。从图形上来说,灰度直方图就是一个二维图,横坐标表示灰度值(灰度级别),纵坐标表示具有各个灰度值或者灰度级别的像素在图像中出现的次数或者概率。现在我们用Matlab来查看一幅图像的灰度直方图:

程序如下(Matlab程序是一行一行执行的):

I = imread('a.bmp');            %读取a.bmp图像
figure;                                            %创建窗口
imshow(I);title('source');          %显示原图像
Igray = rgb2gray(I);                    %将彩色图转换为灰度图
figure;                                            %创建另一个窗口
imhist(Igray);                               %显示灰度直方图

操作结果如图:



上面左边的是原图,右边的就是其灰度直方图。

从这张灰度直方图中我们可以看出,低灰度区域即 0-20 左右的灰度级区域的像素点比较多。起对应的则是右边图片中的黑色边框和一些黑色的区域,二中间很少,因为这幅图处于中间灰度级的像素点很少。而最右边(210-255左右)的数量最多,其对应图片中的浅色区域。


灰度直方图在数字图像处理中是非常有用的工具,特别是在特征提取、边缘检测、目标识别等中特别重要。

以后还会经常用到它。




©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页