如何确定HoughLines函数使用OpenCV找到的线的角度

 我来答
刘老师法律在线
高能答主

2017-07-22 · 为各位题主提供贴心的法律援助
刘老师法律在线
采纳数:7702 获赞数:90236

向TA提问 私信TA
展开全部
解决方案
如果使用HoughLines函数,它将提供已经由两个参数:theta和rho定义的行,如

向量< Vec2f>线;
//检测行
HoughLines(image,lines,1,CV_PI / 180,150,0,0);

//获取行
for(size_t i = 0; i< lines.size(); i ++)
{
float rho = lines [i] [0],theta = lines [i] [1];
....
}


HoughLinesP函数,你将得到由两点定义的线,你只需要计算两点之间相对于图像的线的角度:

vector< Vec4i>线;
//检测行
HoughLinesP(image,lines,1,CV_PI / 180,50,50,10);
for(size_t i = 0; i< lines.size(); i ++)
{
Vec4i l = lines [i];
//绘制线条

点p1,p2;
p1 = Point(l [0],l [1]);
p2 = Point(l [2],l [3]);
//以弧度计算角度,如果你需要它的角度只是做角度* 180 / PI
float angle = atan2(p1.y - p2.y,p1.x - p2.x);
.......
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式