matlab计算多张图像的灰度直方图_数字图像处理(第三章)

  • 灰度变换基本函数
  1. 最简单的灰度变换一定是图像灰度反转了,例如一张8bit的灰度图进行图像灰度反转变换,那么图中0灰度与255灰度进行颠倒,1与254,依次类推。如果画出灰度反转函数的图像,如下图所示。
  2. 对数灰度变换,根据对数函数的特性,对应对数函数曲率高的灰度范围得到拉伸,增强了对比度。让我印象深刻的是书中介绍了对数函数用于提高傅里叶变换频谱图的对比度,其原因是傅里叶变换频谱图灰度范围远超255,一些低灰度的细节不能很好显示出来,所以使用对数函数进行增强。
  3. 比特平面分层,可以用来压缩图像。对于一张8比特的灰度图,抽取每一个像素不同比特位数重组成新的图像,这样可以组成8张新图,高阶灰度组成的图像保留了原图大部分的特征,书中实验证明仅用后四个比特的灰度图组成的图像可以很好的还原图,并且存储空间只有原来的一半,这是一种很好的压缩方法。我想到另外一种图像压缩的方法,奇异值分解,将图像看成一个矩阵,对该矩阵做奇异值分解,去前k个奇异值及其向量来逼近原图,这两种算法的思路很相似,是否能将两种方法结合呢,应该有人进行过研究吧。
  • 直方图均衡化

这是一种很有效的增强图像对比度的方法,也是一种将概率应用于图像处理的算法。对灰度图进行直方图统计,灰度范围为(0~L-1),此时可以将直方图看作该灰度图像素灰度的概率密度函数图,由于原图像素灰度的分布并不均匀,导致有些区域对比度不明显,所以希望有一种变换可以将原图的像素灰度均匀分布于图像所在灰度范围内,以此来增强图像对比度。直方图均衡化就是这样一种变换。下面来推导直方图变换的公式,该算法的建模过程非常精彩,思路值得借鉴。

原图的概率密度函数

,其中
是第
个灰度级数的像素数和,
是图像总的像素和;概率分布函数
,变换后的概率密度函数
,概率分布函数
,由于希望变换后直方图呈均匀分布,所以变换后的概率密度
是图中的灰度级数。变换前后的关系为
.这样这个问题的基本模型已经搭建出来了,最终的目的变成求解
.该问题可以抽象成为已知两种分布的概率密度,求解两种分布之间的关系。

以下求解过程参考了《概率论与数理统计》中随机变量分布函数这部分内容,其介绍的例子所使用的方法可以很好的对该问题进行求解,求解过程如下:

  1. ,对等式
    两边同时对s进行求导:
  2. ,将
    带入得到:
  3. ,两边同时对r积分:
  4. ?,很明显公式右侧是
    的分布函数,其离散形式:

因此,在实际图像处理时,直方图均衡化操作按照公式9进行计算即可。

  • 空间滤波模板

滤波器由两部分组成,系数与滤波模板。均值滤波由于滤波模板不同,平滑图像效果也不同,可以通过改变模板的大小和模板内部的权重来设计不同的滤波器应用于不同的对象。这里有一个比较重要的一点,当图像细节与滤波模板相似或相同时,图像中的一些细节收到的影响较大,通俗来讲就是这些细节可以被更加有效的平滑。

我认为高斯滤波器是一种特殊的均值滤波器,高斯滤波模板中的权重呈高斯分布,只不过在图像中,所以权重呈二维的高斯分布。高斯滤波器是如何计算得到的,下面这篇文章讲的比较好。

高斯滤波器的原理和实现-电子发烧友网​m.elecfans.com
5cb850cb956c908f6d524a8a4ba34633.png

书中介绍了一个使用均值滤波处理星空图像的例子,为突出图像中比较大的星星,作者先使用15*15的均值滤波对图像进行了平滑,这一步骤减弱了面积较小的星星亮度,然后使用阈值法分割最高亮度25%的像素,最终效果是面积较小的星星被抑制并消除掉,只留下面积大的星星。这种先抑制后突出的图像处理方法很常见也很重要,之前我曾经使用过类似的方法,使用膨胀与腐蚀来增加图像的对比度。说到这里我想到另外一种增加图像对比度的方法-非极大值抑制,对图像的区域进行量化,将感兴趣要突出的区域设置为大值,使用非极大值抑制算法可以增强图像对比度。

  • 拉普拉斯变换

在介绍拉普拉斯变换前,使用图例对比了分别使用一阶微分与二阶微分处理图像边缘的效果,由于图像上边缘的灰度常常类似与斜坡灰度,而一阶微分产生较粗的边缘,二阶微分产生一个由零分开的一个像素的双边缘。所以,二阶微分在增强细节方面比一阶微分效果好,所以使用二阶微分提取边缘特征。二阶微分处理图像的算子叫拉普拉斯算子。拉普拉斯算子如何计算,我曾经在下面这篇文章中推导过。

answer:图像中的导数​zhuanlan.zhihu.com

拉普拉斯算子锐化图像的方法是将原图与算子处理后的图像相加,得到的结果为锐化边缘后的图像。公式如下。

是原图,
是叠加后的锐化图像。拉普拉斯的标定,由于经过拉普拉斯处理后的图像既有正值,又有负值,负值都被修减为0,所以图像大部分是黑色,所以需要将处理后的值重新标定,使其范围标定到区间[0~L]。

介绍了一种印刷出版界经常使用的锐化方法-非锐化掩蔽。这种方法使用原图减去模糊后的图像得到掩蔽模板,接着使用原图减去模板得到锐化后的图像,由于模糊操作对梯度大的像素如边缘像素、噪声像素模糊效果比较大,所以原图与模糊图像做差可以将边缘分离出来,最后将分离后的边缘重新叠加在原图上进行边缘增强。

  • 梯度与拉普拉斯的比较

拉普拉斯对小细节、噪声相应更强烈些,因此在拉普拉斯变换前通常进行高斯模糊;

梯度对灰度变化区域(灰度斜坡或台阶)响应更强烈。

书中举例人体骨骼图像的增强,其中有一步操作为,将拉普拉斯处理结果图与使用sobel算子的梯度处理结果图相乘得到一个模板图,并用模板图与原图相加得到最终锐化图。我想其中相乘的作用是将拉普拉斯算子与sobel算子的优点相结合,既能突出小细节,又能突出边缘。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值