“矢量迭代器不能解除引用”...... Visual Studio 2010错误

时间:2012-01-23 12:38:31

标签: opencv

  
    

在形态学操作后,我检测到指尖。矢量指尖     包含所有指尖的详细信息。我创建了一个迭代器来获取第一个和     第二个指尖坐标。     但是当我尝试编译时,我得到错误“vector iterator not dereferencable”...

         

请帮助我!! 1

  

而(1) { 。 。 vector :: iterator p = 0;

            p = fingerTips.begin();
            CvPoint forefinger = *p;
            *p++;
            CvPoint secondfinger = *p;

            int distance = secondfinger.y - forefinger.y;
            char dist[6];

            sprintf(x_pt,"%d",forefinger.x);

            sprintf(y_pt,"%d",forefinger.y);

            sprintf(dist,"%d",distance);

            cvPutText(source,dist,cvPoint(220,320), &font, cvScalar(255, 0, 0, 0));     

            cvLine(source,cvPoint(forefinger.x,forefinger.y),cvPoint(secondfinger.x,secondfinger.y),cvScalar(255,0,0,0),4,8,0);

。 。 。 。 }

1 个答案:

答案 0 :(得分:0)

你的矢量声明是错误的。应该是vector<cv::Point>::iterator p