美文网首页
图像的点运算1

图像的点运算1

作者: 还浴月 | 来源:发表于2018-07-15 17:10 被阅读0次

    灰度直方图

        灰度直方图是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或者频率。

    MATLAB实现:

    生成有64个小区间的灰度直方图

    该灰度区间又常常被称为是“收集箱”,收集箱数目一般设置为2的整数次幂,以保证可以无需圆整。

    归一化直方图

        matlab中imhist函数的返回值如下,counts保存了落入每个区间的像素的个数,图中则是32个区间的像素个数,而x是保存了对应的灰度小区间的向量(灰度值),通过计算counts与图像中的像素总数的商,我们可以得到归一化的直方图。

    imhist的返回值表示方法 利用counts和x返回值计算得到归一化直方图

        通过灰度直方图可以很直观的看出图像的亮度和对比度特征,峰值位置说明了图像的总体上的亮暗,如果图像较亮,则直方图的峰值出现在直方图的较右部分;如果图像较暗,则出现在较左部分。若直方图只有中间某一小段非零值,则对比度较低;反之,若直方图非零值分布很宽而且比较均匀,则说明对比度较高。

    直方图均衡化

        直方图均衡化是一种直方图修正技术,作用是图像增强,实质是对图像进行非线性拉伸,对图像进行像素值的重新分配,使一定范围内的像素值数量大致相等。通过某种灰度映射来进行操作,处理后的图像占有尽可能多的灰度级并且分布均匀,有较高的对比度和较大的动态范围。

        由于均衡化过程中必须要保持原有大小关系,即明暗不能颠倒,只是进行一定的映射关系,同时还要保持映射后的值域在0到255的范围内,所以选用CDF函数(累积分布函数)作为映射关系,因为这是一个单调递增函数,相应的转换公式如下:

        其中,n是像素个数总和,nk是当前灰度级的像素个数,L是可能的灰度级总数。

        matlab中的操作如下,

    调用histeq函数

        其中,返回值Jeq是经过直方图均衡化的输出图像,T是变换矩阵,如下可以看出原图和进行均衡化后的对比:

    左为原图,右为经过均衡化操作后的图像

        再求其归一化直方图我们可以看到,

    左为初始状态,右为均衡化后的归一化直方图

        可以明显看出,经过均衡化的图像所作出的直方图分布更加的均匀。

        再往下看,通过这段对比我们可以发现,将直方图均衡算法用于亮度、对比度不同的各个图像后,得到了右侧直方图大致相同的图像,这体现了直方图均衡化的强大自适应能力,所得到的结果在视觉上是几乎完全一致的,这对在图像分析前将图像转换为统一的形式是十分有益的。

    示例代码 处理效果

    相关文章

      网友评论

          本文标题:图像的点运算1

          本文链接:https://www.haomeiwen.com/subject/lpyppftx.html