边缘检测
| 分类: 图像识别 | 
边缘检测:
 
滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能.需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折衷.
增强:增强边缘的基础是确定图像各点邻域强度的变化值.增强算法可以将邻域(或局部)强度值有显著变化的点突显出来.边缘增强一般是通过计算梯度幅值来完成的.
检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点.最简单的边缘检测判据是梯度幅值阈值判据.
定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来.
 
边缘检测的主要工具是边缘检测模板。我们以一个一维模板为例来考察边缘检测模板是如何作用的。假设有一个模板http://web.gdut.edu.cn/~dj/jxsb/cai/pic/q4.jpg
可以看出,图象中左边暗,右边亮,中间存在着一条明显的边缘,是一个典型阶跃状边缘。使用模板http://web.gdut.edu.cn/~dj/jxsb/cai/pic/q101.jpg 进行模板操作后,结果如下
http://web.gdut.edu.cn/~dj/jxsb/cai/pic/q5.jpg
可以看出,边缘检测后的图象在原图象暗亮边缘处的灰度值高很多。观察时,就能发现一条很明显的亮边,其他区域都很暗,这样就起到了边缘检测的作用。
模板的作用是将右邻点的灰度值减去左邻点的灰度值作为该点的灰度值。在灰度相近的区域内,这么做的结果使得该点的灰度值接近于0;而在边缘附近,灰度值有明显的跳变,这么做的结果使得该点的灰度值很大,这样就出现了上面的结果。这种模板就是一种边缘检测器,它在数学上的涵义是一种基于梯度的滤波器,习惯上又称边缘算子。我们知道,梯度是有方向的,和边缘的方向总是垂直的。模板是水平方向的,而上面那幅图象的边缘恰好是垂直方向的,使用模板就可以将它检测出来。如果图象的边缘是水平方向的,我们可以用梯度是垂直
方向的模板http://web.gdut.edu.cn/~dj/jxsb/cai/pic/q101.jpg 检测它的边缘。如果图象的边缘是45。方向的,我们可以用模板
 检测它的边缘。
常用的边缘检测模板有Laplacian算子、Roberts算子、Sobel算子、log(Laplacian-Gauss)算子、Kirsch算子和Prewitt算子等。
 
二.Roberts算子
 
如果我们沿如下图方向角度求其交叉方向的偏导数,则得到Roberts于1963年提出的交叉算子边缘检测方法。该方法最大优点是计算量小,速度快。但该方法由于是采用偶数模板,如下图所示,所求的(x,y)点处梯度幅度值,其实是图中交叉点处的值,从而导致在图像(x,y)点所求的梯度幅度值偏移了半个像素(见下图)。
 
http://s11/middle/9f4bc8e3hc3cfff6059aa&690
Roberts算子的推导:
Sobel算子也有两个,一个是检测水平边缘的模板http://web.gdut.edu.cn/~dj/jxsb/cai/pic/q52.jpg 。与Prewitt算子相比,Sobel算子对于象素位置的影响作了加权,因此效果更好。
sobel算子的另一种形式是各向同性Sobel算子,也有两个模板组成,一个是检测水平边缘的http://web.gdut.edu.cn/~dj/jxsb/cai/pic/q54.jpg。各向同性Sobel算子和普通Sobel算子相比,位置加权系数更为准确,在检测不同方向的边缘时梯度的幅度一致。
Sobel算子的推导:
Prewitt算子
Prewitt算子由两部分组成,检测水平边缘的模板
http://web.gdut.edu.cn/~dj/jxsb/cai/pic/q42.jpg检测垂直边缘的模板
prewitt算子一个方向求微分,一个方向求平均,所以对噪声相对不敏感。
 
laplacian算子
Laplacian算子定义为
http://web.gdut.edu.cn/~dj/jxsb/cai/pic/q31.jpg
它的差分形式为
http://web.gdut.edu.cn/~dj/jxsb/cai/pic/q32.jpg
表示成模板的形式就是 http://web.gdut.edu.cn/~dj/jxsb/cai/pic/q34.jpg,也经常使用。Laplace算子是一种各向同性算子,在只关心边缘的位置而不考虑其周围的象素灰度差值时比较合适。Laplace算子对孤立象素的响应要比对边缘或线的响应要更强烈,因此只适用于无噪声图象。存在噪声情况下,使用Laplacian算子检测边缘之前需要先进行低通滤波。
canny算子????
1. 
 
 
 
2. 
 
 
 
 
step1:高斯平滑函数
http://s13/middle/9f4bc8e3hc3d26aa9eccc&690
Step2:一阶微分卷积模板
http://s13/middle/9f4bc8e3hc3d26be7b7dc&690
step3:非极大值抑制
 
解决方法:利用梯度的方向。
http://s1/middle/9f4bc8e3hc3d26cf9d940&690
 
图1非极大值抑制
四个扇区的标号为0到3,对应3*3邻域的四种可能组合。在每一点上,邻域的中心象素M与沿着梯度线的两个象素相比????。如果M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令M=0。
即: 
 
 
 
3. 
 
l 
l 
l 
l 
l 
l 
l 

加载中…