您的位置:首页 > 其它

角点检测,圆形检测

2016-01-05 09:38 260 查看
https://en.wikipedia.org/wiki/Hough_transform

/article/8559599.html 角点检测

http://xueshu.baidu.com/s?wd=paperuri%3A%288b719ca5f86b75be4dccea6676b0cacf%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fwww.docin.com%2Fp-377692448.html&ie=utf-8

/article/1391063.html 圆检测

http://blog.163.com/yuyang_tech/blog/static/21605008320130233343990/

http://www.doc88.com/p-7426855009287.html

/article/1392176.html

已知直线方程斜截式表达式:y=k*x+b;r是从原点到直线的最短距离, 为x轴与最短距离连线夹角。

将k,b用r, 关系替换,直线表达式为: ,对于任意一点(x,y),在hough变换中 对应一条曲线。

多个点对应多条曲线,这些曲线有交点,交点处就是对应点组成的直线 。如果有多个交点说明有多条直线,曲线在同一交点重合的越多,说明,直线上有很多点。、







下面为我写的利用极坐标表示圆的一种算法流程。

1.图像灰度化,二值化(注意:二值化的好坏对检测结果有很大影响,常用的有SOBEL算子)

2.检测图像中的边缘点,并保存其坐标位置。设置角度theta的变化范围和步长,半径r的变换范围和步长。

3.利用公式x=a+rcos(theta),y=b+rsin(theta)求出a和b的值。(注意:x和y为实际的图像空间某个边缘点的坐标,a和b为其对应的参数空间的坐标),如果a和b的值在合理的范围之类,则对该位置进行累加。

4.检索完毕,寻找最大值,求出圆心坐标与半径,保存。

Opencv提供了hough检测直线、圆的函数,检测直线需要二值图,检测圆灰度图。 /article/1392176.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: