0

我想调用一个函数来比较我在代码中计算的所有段,并知道我的视图中有多少多边形,由直线组成,由 3、4 或更多段组成,形成闭合路径,或者我想知道有多少对直线段形成一个角度(因此有一个共同点):

           vector<Vec4i> lines;
       HoughLinesP(dst, lines, 1, CV_PI/180, 80, 50, 10 );
       for( size_t i = 0; i < lines.size(); i++ )
           {
           Vec4i l = lines[i];
           double x = l[0]-l[2];
           double y = l[1]-l[3];
           double dist = pow(x,2) + pow(y,2);
           dist= sqrt(dist);
           segments.push_back(round(dist));
           line( cdst, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0,0,255), 3, CV_AA);
           }

或者,试图简化,我如何计算段之间的交叉点数?

4

1 回答 1

0

如果我理解正确,给定一个多边形,您想知道它有多少个顶点。

我认为一个不错的选择是使用cv::approxPolyDP,这将为您提供表示多边形所需的最少顶点数。根据顶点的数量,可以对多边形进行分类。

您可以查看pyImageSerach博客以获得很好的教程(在 Python 中)。

于 2016-06-09T09:39:52.133 回答