OpenCV(六)——Hough检测圆原理及算法实现

 hough检测圆的思路:

(1)图像中取出圆的轮廓(灰度值为255)

(2)根据圆的极坐标公式:

x = x_{0} + r * cos(\Theta )

y = y_{0} + r * sin(\Theta )

现在已知的是圆上的点,则x,y已知,反推出x0 和 y0(圆心的位置)。

\Theta的范围是0~360度,不过注意要转化成弧度。

(3)投票机制:

每次根据(2)公式得到的点,都在数组相应坐标+1

(4)归一化:

得到最大投票数的点,生成的图像在该点的像素灰度置为255。

(5)画圆。

根据搜索的半径,画圆。

#include <opencv2/opencv.hpp>
#include <iostream>
#include <vector>

using namespace std;
using namespace cv;


bool range(Mat &im, int x, int y)//判定是否在图片区域内
{
	if(x >= 0 && x < im.cols &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值