opencv判断 线夹角_opencv计算直线的斜率、截距,与水平线弧度值、角度值
opencv計(jì)算直線的斜率、截距,與水平線弧度值、角度值
發(fā)布時(shí)間:2018-07-10 12:56,
瀏覽次數(shù):1324
, 標(biāo)簽:
opencv
1、輸入一堆直線,返回每條直線的斜率和截距
斜率和截距都是浮點(diǎn)型。
//輸入一堆直線,返回每條直線的斜率和截距 //Vec2f為2個(gè)點(diǎn)的float,參照存儲(chǔ)直線的數(shù)據(jù)結(jié)構(gòu) vector
get_lines_fangcheng(vector lines) { float k = 0; //直線斜率 float b = 0;
//直線截距 vector lines_fangcheng;//直線斜率的反正切值 for (unsigned int i = 0;
i
)(lines[i][2] - lines[i][0]); //求出直線的斜率// -3.1415926/2-----+3.1415926/2 b = (
double)lines[i][1] - k * (double)lines[i][0]; //求出直線的斜率
lines_fangcheng.push_back(Point2f(k,b)); }return lines_fangcheng; }
2、輸入一堆直線,返回每條直線與水平直線的弧度值
//輸入一堆直線,返回每條直線與水平直線的角度,為弧度 vector get_lines_arctan(vector
lines) {float k=0; //直線斜率 vector lines_arctan;//直線斜率的反正切值 for (unsigned
int i = 0; i
double)(lines[i][2] - lines[i][0]); //求出直線的斜率 lines_arctan.push_back(atan(k)); }
return lines_arctan; }
當(dāng)然角度稍微轉(zhuǎn)化即可,如下:
//顯示每條直線的角度 vector lines_arctan;//直線斜率的反正切值 lines_arctan =
get_lines_arctan(lines);for (unsigned int i = 0; i < lines.size(); i++) { cout
<
lines_arctan[i] *180.0/3.1415926<< endl; }
總結(jié)
以上是生活随笔為你收集整理的opencv判断 线夹角_opencv计算直线的斜率、截距,与水平线弧度值、角度值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 架设win2003r2下配置好iis6+
- 下一篇: 求一个qq网名霸气女生简短。