2012-01-23 45 views
0

在形态操作后,我检测到了指尖。矢量指尖 包含所有指尖的细节。我创建了一个迭代器来获取第一个和第二个指尖坐标。 但是当我尝试编译我得到的错误 “向量迭代器不dereferencable” ......“Vector iterator not dereferenceble”...... Visual Studio 2010错误

请帮帮我!! 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); 

。 。 。 。 }

回答

0

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