角点检测,圆形检测

https://en.wikipedia.org/wiki/Hough_transform
http://blog.youkuaiyun.com/xw20084898/article/details/21180729 角点检测
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
http://blog.youkuaiyun.com/jia20003/article/details/17252807 圆检测
http://blog.163.com/yuyang_tech/blog/static/21605008320130233343990/
http://www.doc88.com/p-7426855009287.html
http://blog.youkuaiyun.com/morewindows/article/details/8266985

已知直线方程斜截式表达式: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检测直线、圆的函数,检测直线需要二值图,检测圆灰度图。 http://blog.youkuaiyun.com/morewindows/article/details/8266985

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值