0

白いピクセルを計算し、opencv で 2 つの輪郭を比較する必要があります。これは、最初のフレームと 5 番目のフレーム、次に 5 番目と 10 番目のフレームなどの 1 つの輪郭です。

ビデオで次の輪郭を見つける方法についてよく調べました。しかし、すべて無駄です。opencv に次の輪郭を見つける機能があるかどうかは疑問です。チュートリアルなどを読んで完全に混乱しています。

私はこれをしました。私は自分の論理を疑います。

cvFindContours(bgModel->foreground, memory, &contour, sizeof(CvContour),CV_RETR_CCOMP,CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
if(FrameNumber%5==0)
{
for( ; contour != 0; contour = contour->h_next )
 {
   double area = fabs(cvContourArea(contour,CV_WHOLE_SEQ, 0));

この後どうすればいいのかわからない。次の輪郭を取得する方法????

4

1 に答える 1

0

これは、あなたの輪郭が「c」変数にある輪郭を反復するコードフラグメントです。

    //Contour Stuffz            
    CvMemStorage* g_storage = NULL;
    g_storage = cvCreateMemStorage(0);
    CvSeq* contours = 0;

    cvFindContours(r2, g_storage, &contours);

    for (CvSeq* c = contours; c != NULL; c=c->h_next) {
            //*** Contour Stuff
            int nContourPoints = c->total; // Get total number of points in the chain
            if (nContourPoints > 46) { ... 
于 2013-09-24T06:30:32.827 に答える