常用的灰度图像预处理总结

如题所述

第1个回答  2022-07-10
     图像的灰度变换一般是指根据某种规律改变图像中的灰度值,使得图像的亮度或者对比度发生变化,最终让图像变得更容易分辨以及达到我们想要的效果,一般来说,灰度转换有以下几种方式:

① 线性变换: 当图像出现曝光不足或者曝光过度的时候,灰度图会被局限在很小的范围内,这时我们会通过线性变换将每一个像素线性拉伸。一般线性变换效果会增强图像的对比度,举个例子就是,图像会变得黑色更黑,白色更白。

② 分段线性变换: 主要是用作突出感兴趣的目标或者灰度区间,抑制那些不感兴趣的区域,一般来说,我们会把图像分成三段去进行线性变换,对任意区间的灰度区间进行压缩或拓展,一般用在有类似于折痕这样的噪声的图片中,减少折痕的影响。

③ 非线性变换: 该变换一般不针对某个不同的灰度区间进行变换,而是在整个灰度值范围内采取相同的非线性函数实现灰度值区间的压缩和拓展。如对数变换,用于扩展图像的低灰度值部分,压缩高灰度值部分,使得低灰度的图像细节清晰化。相对应的指数变换则是拉伸高灰度区域,提高灰度区域高的像素点。

     这个说的直方图一般指的是灰度直方图,是按照灰度值大小,统计图像中像素出现的频率,横坐标为灰度值,纵坐标是该灰度值出现的频率或者像素个数。但直方图只能反映整幅图像的亮暗程度和对比度,不能看出灰度空间分布情况。直方图一般有以下两种修正形式:

① 直方图均衡化: 通过对原图像进行某种变换,使得原图像的灰度直方图修正为均匀分布直方图,从而达到调整图像对比度的目的,主要适用于背景和前景太暗或太亮的图像(啊,依旧是万能的ppt画的直方图,ppt赛高)。

② 直方图规定化 :即是将原图像直方图变成规定形状的直方图。最理想的情况是直方图均衡化实现了图像灰度的均衡分布,对提高图像对比度有明显的作用。但是在实际使用中,我们不一定需要直方图具有整体的均匀分布特性,而是希望与规定的一致。

      意思是将图像的像素点全部设置成0或255,变成黑白图像,大幅度减少图像的数据量,凸显目标轮廓,同样的,一般有三种做法:

①取0-255之间的平均数作为阈值过滤,灰度值小于平均数127的归于像素0,反之归于255。

②计算图像所有像素的灰度平均值作为阈值过滤,灰度值小于阈值的归于像素0,反之归于255。

③取灰度直方图上,前景和背景两个高峰之间的最低谷为阈值,灰度值小于阈值的归于像素0,反之归于255。

符号说明:erode(腐蚀)dilate(膨胀)src(原图)element(移动窗口大小)dist(最终图像)

  先腐蚀后膨胀,可以用来消除小物体,可以在分离物体,平滑边界的同时改变面积不明显,效果通常为放大了裂痕或局部亮度低的区域,公式为:

dist= dilate(erode(src, element))

先膨胀后腐蚀,能排除小型黑色区域,效果通常为突出了比原图轮廓周围更暗的区域。公式为:

dist = erode(dilate(src , element))

求膨胀图与腐蚀图之差,对二值图像进行这一操作可以突出图块边缘,从而保留物体的边缘轮廓,公式为:

dist = dilate(src, element) - erode(src , element)

求原图和开运算图之差,开运算减去原图后可以得到比原图轮廓周围区域更亮的效果图,公式为:

  dist = src - dilate(erode(src, element))

求闭运算图和原图之差,用作分离比临近点暗一点的斑块,得出比较平滑的轮廓,公式为:

  dist = erode(dilate(src, element)) - src

       主要是用作对图像进行平滑处理,目的是去除图像中的噪声,但会使得图像中物体边缘模糊,具体操作为:对窗口范围内像素的灰度值进行平均值计算,然后将当前像素的灰度值用它所在邻域内像素的平均值代替。

内容掺杂个人理解,记录准确性不担保,随时改(●ˇ∀ˇ●)
相似回答