1 / 5
文档名称:

Canny+边缘检测算法.doc

格式:doc   大小:17KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Canny+边缘检测算法.doc

上传人:wxc6688 2019/11/8 文件大小:17 KB

下载得到文件列表

Canny+边缘检测算法.doc

相关文档

文档介绍

文档介绍:Canny边缘检测算法【OpenCV】Canny边缘检测分类:【OpenCV】2012-08-0810:17490人阅读评论(10)收藏举报Canny边缘检测算法1986年,JOHNCANNY提出一个很好的边缘检测算法,被称为Canny编边缘检测器[1]。Canny边缘检测根据对信噪比与定位乘积进行测度,得到最优化逼近算子,也就是Canny算子。类似与LoG边缘检测方法,也属于先平滑后求导数的方法。使用Canny边缘检测器,图象边缘检测必须满足两个条件:能有效地抑制噪声;必须尽量精确确定边缘的位置。算法大致流程:1、求图像与高斯平滑滤波器卷积:2、使用一阶有限差分计算偏导数的两个阵列P与Q:3、幅值和方位角:4、非极大值抑制(NMS):细化幅值图像中的屋脊带,即只保留幅值局部变化最大的点。将梯度角的变化范围减小到圆周的四个扇区之一,方向角和幅值分别为:非极大值抑制通过抑制梯度线上所有非屋脊峰值的幅值来细化M[i,j],[i,j]的变化范围减小到圆周的四个扇区之一,如下图所示:5、取阈值将低于阈值的所有值赋零,得到图像的边缘阵列阈值τ取得太低->假边缘阈值τ取得太高->部分轮廊丢失选用两个阈值::用高斯滤波器平滑图像(在调用Canny之前自己用blur平滑).[cpp]viewplaincopyprint?voidcv::Canny(InputArray_src,OutputArray_dst,doublelow_thresh,doublehigh_thresh,intaperture_size,boolL2gradient){Matsrc=();CV_Assert(()==CV_8U);((),CV_8U);Matdst=();if(!L2gradient&&(aperture_size&CV_CANNY_L2_GRADIENT)==CV_CANNY_L2_GRADIENT){//patibilityaperture_size&=~CV_CANNY_L2_GRADIENT;L2gradient=true;}if((aperture_size&1)==0||(aperture_size!=-1&&(aperture_size7)))CV_Error(CV_StsBadFlag,"");#ifdefHAVE_TEGRA_OPTIMIZATIONif(tegra::canny(src,dst,low_thresh,high_thresh,aperture_size,L2gradient))return;#=();cv::Matdx(,,));cv::Matdy(