- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于candy算子的边缘检测技术学习.doc
基于candy算子的边缘检测技术学习
在数字图像中“边缘”往往包含着丰富且有用的信息,如城市中的道路、河流的水涯线、建筑物的边界等,这些边缘信息在数字摄影测量、模式识别等领域有着重要的研究意义。对于人脸检测来说,一个好的边缘检测算法能很好的划分出待检测区域,有效降低无检测率。对边缘检测算法进行研究性学习,了解该算法的执行过程和有关改进,对于人脸检测领域的深入学习是不可或缺的。在众多的边缘检测算子中,Canny算子是目前最受欢迎的边缘检测算子口]。Canny算子具有良好的信噪比,对单一边缘具有唯一响应,较好的定位性能等优点,因此决定对其深入学习了解。
Canny边缘检测算子(Canny,1986)主要由3个目标形成:无附加响应的最优检测、检测边缘位置和实际边缘位置之问距离最小的正确定位、减少单边缘的多重响应而得到单响应。为实现以上3个目标,Canny边缘检测的主要步骤如下:
(1)对图像应用高斯平滑处理Canny指出高斯算子对图像平滑处理是最优的。二维高斯平滑算子如下:
沿水平和垂直两个方向进行微分,可以得到:
通过微分,把二维平滑算子分解为水平和垂直两个方向的滤波器,从而提高了平滑的速度。
(2)计算图像的梯度
传统Canny算子采用2×2邻域一阶偏导的有限差分来计算平滑后的数据阵列I(z,y)的梯度幅值和方向,其中水平和垂直方向的差分算子分别为:
Dx[i,j]=(I[i,j+1]-I[i,j]+I[i+1,j+1]-[i+1,j])/2
Dy[i,j]=( I[i,j] - I[i+1,j] + I[i,j+1]- I[i+1,j+1])/2
此处的梯度模值和方向分别为:
(3)抑制局部非最大(MNS)
数字图像中的边缘对应图像中灰度变化剧烈的部分,即梯度模值比较大的部分,因此可以把边缘检测问题转换为计算梯度模值的局部极大值的问题,即将梯度模值的局部极大值点作为边缘,这一过程就是抑制局部非最大的过程(Non-maxima Sup—pression,NMS)。通过抑制局部非最大,可以提取出图像中粗略的边缘信息。Canny算子通过对每个梯度非零的点,沿梯度方向上查找相邻像素的梯度模值,如果该点梯度模值小于任意一个相邻像素的梯度模值,将该点剔除,并将其梯度模值设为零;如果该点梯度模值大于相邻两个像素的梯度模值,则将该点保留,作为边缘像素的候选点。
通过抑制局部非最大,可以提取出图像中粗略的边缘信息。Canny算子通过对每个梯度非零的点,沿梯度方向上查找相邻像素的梯度模值,如果该点梯度模值小于任意一个相邻像素的梯度模值,将该点剔除,并将其梯度模值设为零;如果该点梯度模值大于相邻两个像素的梯度模值,则将该点保留,作为边缘像素的候选点。
(4)双门限检测与连接边缘
非极大值抑制后的图像中的边缘只是粗略的边缘,还要经过双门限检测以剔除伪边缘点。Canny算子通过设定高低两个阈值,如果边缘候选点的梯度模值小于低阈值,则判定该点是伪边缘点;如果边缘候选点的梯度模值大于高阈值,则判定该点是边缘点;如果边缘候选点的梯度模值小于高阈值而大于低阈值,那么判断此点与前面得到的边缘点是否为8连通,若是的话则将此点记为边缘点,得到的图像就是边缘图像。
以上是Canny算子的基本算法,下面是对Canny算子的一些改进:
Canny算法在对具有模糊边缘的图像进行边缘检测时,整幅图像仅仅采用了两个阈值,往往不能兼顾图像各处的具体情况,所以效果是不理想的。因为用固定阈值进行边缘检测很可能导致边缘在模糊处丢失。为了让canny算法能够更精确的检测图像中目标的边界,在对图像进行预处理时,先将其分割成若干子图像;然后针对每幅子图像中的具体情况,选用不同的阈值,最后采用上一步中所选择的阈值对整幅图像进行动态分割。
动态阈值算法仍然使用双阈值来检测子图像的边缘。但由于目标与背景的灰度值有部分交错,通常希望分割后误差最小,因而该算法采用最优阈值法求出其中的一个阚值:
其中:和分别是背景与目标区域的平均灰度值,是关于均值的均方差,和分别为背景和目标区域灰度值的先验概率。改进算法的图像处理结果如下:
参考文献:
[1] 曲秀君.一种改进Canny算子[A].电脑学习杂志.北京:电脑学习,2010:04-20
[2] 薛武,张永生,董广军,纪松,于英. Canny算子子像素边缘检测方法[A].郑州:信息工程大学测绘学院,2013
文档评论(0)