canny 算法学习
来源:互联网 发布:wings解散 知乎 编辑:程序博客网 时间:2024/05/01 03:35
Canny算子的设计步骤如下:
(1)用高斯滤波器对图像滤波,去除图像中的噪声。
(2)用高斯算子的一阶微分对图像进行滤波,得到每个象素梯度的大小|G|和方向θ 。
其中:f为滤波后的图像。
(3)对梯度进行“非极大抑制”
梯度的方向可以被定义为属于4个区之一,各个区用不同的邻近象素来进行比较,以决 定局部极大值。
(4)对梯度取2次阈值得T1和T2,T1=0.4*T2。把梯度值小于T1的象素灰度 值设为0,得到图像1。然后把梯度值小于T2的象素灰度设为0,得到图像2。由于图像 2的阈值较 高,去除了大部分噪声,但同时也损失了有用的边缘信息。而图像1的阈值较低,保留了较 多的信息。可以以图像2为基础,图像1为补充来连接图像。
(5)连接边缘的具体步骤如下:
①对图像2进行扫描,当遇到一个非零灰度的象素P时,跟踪以P为开始点的轮廓线, 直到该轮廓线的终点Q。
②考察图像1与图像2中Q点位置对应的Q′的8邻近区域。如果在Q′点的8邻近区域中有非零象素R′存在,则将其包括到图像2中,作为R点。从R开始,重复第 ①步,直到在图像1和图像2中都无法继续为止。
③当完成对包含P的轮廓线的连接之后,将这条轮廓线标记为已访问。回到第①步,寻 找下一条轮廓线。
④重复①、②、③,直到图像2中找不到新轮廓线为止。
(1)用高斯滤波器对图像滤波,去除图像中的噪声。
(2)用高斯算子的一阶微分对图像进行滤波,得到每个象素梯度的大小|G|和方向θ
其中:f为滤波后的图像。
(3)对梯度进行“非极大抑制”
梯度的方向可以被定义为属于4个区之一,各个区用不同的邻近象素来进行比较,以决
(4)对梯度取2次阈值得T1和T2,T1=0.4*T2。把梯度值小于T1的象素灰度
(5)连接边缘的具体步骤如下:
①对图像2进行扫描,当遇到一个非零灰度的象素P时,跟踪以P为开始点的轮廓线,
②考察图像1与图像2中Q点位置对应的Q′的8邻近区域。如果在Q′点的8邻近区域中有非零象素R′存在,则将其包括到图像2中,作为R点。从R开始,重复第
③当完成对包含P的轮廓线的连接之后,将这条轮廓线标记为已访问。回到第①步,寻
④重复①、②、③,直到图像2中找不到新轮廓线为止。
- canny 算法学习
- 学习opencv之canny算法
- canny算法
- canny算法
- Canny 算法
- openCV学习笔记(2):Canny边缘检测算法应用
- OpenCV学习之Canny算法边缘检测(可调阈值)
- CANNY算法源码
- 【转】Canny 算法
- (转载)canny算法
- Lin-Canny算法
- CANNY 错误算法
- Canny算法 边缘检测
- Canny边缘检测算法
- openCV中canny算法
- canny算法原理
- 【算法】Canny边缘检测
- Canny边缘检测算法
- 电影猜猜猜[1]
- ASP.NET:一段比较经典的多线程学习代码
- 非模态对话框生成VC++.NET 2003
- GridView CheckBox Selection With a Twist
- CSS入门
- canny 算法学习
- 五种提高 SQL 性能的方法
- ASP.NET 2.0 的内部变化
- 2001年蒲慕明教授写给他实验室学生的信
- ORACLE SQL 优化
- 未来五年10大必备网络技术
- 2007中秋将至
- 连接各种数据库方式速查表
- 偷听北京:无意而真实的片段(5)