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を使用するのが良いオプションだと思います。これにより、ポリゴンを表すために必要な頂点の最小数が得られます。頂点の数に応じて、ポリゴンを分類できます。

良いチュートリアル (Python) については、pyImageSerachブログを参照してください。

于 2016-06-09T09:39:52.133 に答える