03
边缘提取
图像梯度用于边缘检测。边缘是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、目标检测等方面都有重要的作用。
图像中有灰度值的变化就会有梯度,从而产生边缘,在边缘处,具有变化的强弱及方向。这时一些常见的图像识别算法的基础,比如 hog,sift,都是基于梯度的。
边缘分为三类,step edge、ramp edge 和 peak edge,
根据不同的图像边缘特征,来决定是使用一阶还是二阶导数来求梯度。对图像求一阶或者高阶导数,会得到一些峰值,当这些峰值超过指定阈值时,则认为这些峰值对应的像素是边缘。
前面说到在图像上可以使用一阶差分来计算相邻像素之间的变化率,我们利用卷积和特定的算子来计算相邻像素的变化率。prewitt算子和sobel算子可以计算相邻三个点之间的变化率。它们用于一阶算子的边缘检测,利用像素点上下、左右相邻点的灰度差求取边缘。
求梯度有三种卷积核(robert,prewitt,sobel算子),每种卷积核有两个,对图像分别做两次卷积,一个代表水平梯度,一个代表垂直梯度。
1. Prewitt算子
下面是prewitt的两个算子:
Sobel更强调了和边缘相邻的像素点对边缘的影响。相比较Prewitt算子,Sobel模板能够较好的抑制噪声(平滑)效果。
3. Laplacian算子
上述两个算子都是通过求一阶导数来计算梯度的,用于线的检测,通常用于边缘检测。在图像处理过程中,除了检测线,有时候也需要检测特殊点,这就需要用二阶导数进行检测,著名的就是拉普拉斯(Laplacian)算子。
对图像求两次导数,公式如下:
拉普拉斯算子在边缘检测的应用中并不局限于水平方向或垂直方向,这是Laplacian与soble的区别。
因为一阶二阶导数都能放大孤立点和孤立线(噪声)的影响,如果存在噪声,那么一阶二阶导数处理过后的图像将会有更多更大的噪声。
所以对图像进行一阶二阶导数运算之前需要先对图像做平滑去噪处理。
04
平滑去噪
噪声的产生是因为图像中的某些像素的灰度值发生了突变,使得和周围区域不和谐。除噪其实去除高频噪声,使得图像中的噪声像素的灰度值不那么突兀。
噪声去除有基于卷积(高斯滤波,均值滤波,中值滤波等)和基于形态学(开运算、闭运算)两种方法。
用于平滑去噪和图像锐化(之后会介绍)的卷积核所有的元素之和一般要等于1,这是为了原始图像的能量(亮度)守恒。
如果滤波器矩阵所有元素之和大于1,那么滤波后的图像就会比原图像更亮,反之,如果小于1,那么得到的图像就会变暗。如果和为0,图像不会完全黑,但只会突出一些边缘。
从频率域观点来看这些滤波器是一种低通滤波器,高频信号将会去掉,因此可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能。
1. 高斯滤波
高斯滤波就是对整幅图像进行加权平均数的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波时水平和垂直方向呈现高斯分布,更突出了中心点在像素平滑后的权重。
高斯平滑中的滤波器是一个高斯核,二维零均值高斯函数
可以看到高斯核里的值符合高斯分布,中心的值最大,其他值根据距离中心元素的距离递减,用高斯核对图像进行卷积运算,会使图像更模糊(平滑)。
而模糊的程度由高斯的标准方差决定,越大,平滑程度越大。高斯滤波可以有效的从图像中去除高斯噪音。
高斯函数的值域在(0,1)之间,也就是说高斯核的九个数加起来应该等于1(也就是100%),把 1 这个数分摊到九个像素上,给了中间点更高的百分比。
即高斯滤波对高斯核所覆盖的像素点的灰度值做了一个权重平均,中间的点权重大,周围的点权重小。
因为中心点是正在处理的点,也就是噪声点,给它更多的权重更能保持它自己的特性,从而使得平均运算对周围的像素影响更小。
2. 均值滤波
使用进行均值滤波操作来模糊图像。输出图像的每一个像素灰度值是卷积核在输入图像中对应的像素的平均值( 所有像素加权系数相等)。
均值滤波卷积核所覆盖的九个像素点具有同样权重, 该卷积核的作用在于取九个值的平均值代替中间像素值,所以起到的平滑的效果。
相比于高斯滤波,它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,丢失了图像本身的一些属性,从而使图像变得模糊,不能很好地去除噪声点。
3. 中值滤波
高斯滤波和均值滤波对去除高斯噪声的效果比较好,但是在噪声是椒盐噪声而不是高斯噪声,即图像偶尔会出现很大的噪声点的时候。
用高斯滤波和均值滤波对图像进行平滑模糊的话,噪声像素是不会被去除的,它们只是转换为更为柔和但仍然可见的散粒。
下图就是分别添加高斯噪声和椒盐噪声的对比图:
椒盐噪声(salt & pepper noise)(散粒噪声)是数字图像的一个常见噪声,所谓椒盐,椒就是黑,盐就是白,椒盐噪声就是在图像上随机出现黑色白色的像素。
椒盐噪声是一种因为信号脉冲强度引起的噪声,要对椒盐噪声处理就需要用中值滤波。
其他滤波器都是用计算得到的一个新值来替代中心像素的值,而中值滤波是将周围像素和中心像素九个值进行排序以后,取中间值来替代中心像素。
中值滤波在一定的条件下可以克服常见线性滤波器带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声非常有效,也常用于保护边缘信息,使得边缘不会被模糊。但是对一些细节多,特别是线、尖顶等细节多的图像不宜采用中值滤波。
4. 总结
中值滤波器与均值滤波器的比较:在均值滤波器中,由于噪声成分被放入平均计算中,所以输出受到了噪声的影响,但是在中值滤波器中,由于噪声成分很难选上,所以几乎不会影响到输出。因此同样用3x3区域进行处理,中值滤波消除的噪声能力更胜一筹。中值滤波无论是在消除噪声还是保存边缘方面都是一个不错的方法。
上面介绍的都是低通滤波器,使用低通滤波器可以图像模糊,去除图像中的高频成分(包括噪音和边界)。有一些去滤波技术不会模糊掉边界,比如双边滤波。
-
图像处理
+关注
关注
27文章
1289浏览量
56723 -
Sift
+关注
关注
1文章
38浏览量
15058 -
HOG
+关注
关注
0文章
7浏览量
9260
发布评论请先 登录
相关推荐
评论