比较opencv中两个轮廓的白色像素

时间:2013-09-24 05:45:10

标签: opencv

我必须计算白色像素并比较opencv中的两个轮廓,即第一帧和第五帧中的一个轮廓,然后是第五帧和第十帧,依此类推。

我搜索了很多关于如何在视频中找到下一个轮廓的信息。但一切都是徒劳的。我怀疑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));

我不知道在此之后该怎么做。如何获得下一个轮廓????

1 个答案:

答案 0 :(得分: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) { ...