在形态学操作后,我检测到指尖。矢量指尖 包含所有指尖的详细信息。我创建了一个迭代器来获取第一个和 第二个指尖坐标。 但是当我尝试编译时,我得到错误“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);
。 。 。 。 }
答案 0 :(得分:0)
你的矢量声明是错误的。应该是vector<cv::Point>::iterator p