2012-01-23 60 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