有什么问题?2功能:第1个找到蓝球,第2个绘制目标。请各位大侠解释一下。错误 C3861:DrawTarget:未找到标识符
1st获取图像数据,颜色条件,寻找
轮廓
void FindBall(IplImage* Img)
{
IplImage* Image=cvCreateImage( cvGetSize(Img), 8, 3 );
cvCopy(Img,Image);
uchar* ptr1;
ptr1 = (uchar*) (Image->imageData );
int i,j;
for(i=0;i<Img->height;i++)
for(j=0;j<Img->width;j++)
{
//B >2*G,B>2*R
if (ptr1[j*3+i*Image->widthStep]>2*ptr1[j*3+1+i*Image->widthStep] &&
ptr1[j*3+i*Image->widthStep]>2*ptr1[j*3+2+i*Image->widthStep])
{
ptr1[j*3+i*Image->widthStep]=255;
ptr1[j*3+1+i*Image->widthStep]=255;
ptr1[j*3+2+i*Image->widthStep]=255;
}
else
{
ptr1[j*3+i*Image->widthStep]=0;
ptr1[j*3+1+i*Image->widthStep]=0;
ptr1[j*3+2+i*Image->widthStep]=0;
}
}
//finding contour
Counter(Image);
if (center.x>-1)
{
CvPoint p;
p.x=center.x;
p.y=center.y;
//cvCircle( Img, p, radius, CV_RGB(0,255,0), 3, 8, 0 );
DrawTarget(Img, p.x, p.y, radius);
}
cvReleaseImage( &Image );
}
第二个功能绘图目标,在第一个版本中它绘制圆,但我想要目标))
void DrawTarget(IplImage* img, int x, int y, int radius)
{
cvCircle(img,cvPoint(x, y),radius,CV_RGB(250,0,0),1,8);
cvLine(img, cvPoint(x-radius/2, y-radius/2), cvPoint(x+radius/2, y+radius/2),CV_RGB(250,0,0),1,8);
cvLine(img, cvPoint(x-radius/2, y+radius/2), cvPoint(x+radius/2, y-radius/2),CV_RGB(250,0,0),1,8);
}