0
最新問題? 2功能:第一次發現藍色球,第二次吸引目標。夥計們,請解釋一下。錯誤C3861:DrawTarget:dentifier沒有找到錯誤C3861:DrawTarget:找不到標識
1日獲取的圖像數據,色彩調節,找到
輪廓
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);
}
第2個功能抽選對象,在第一個版本,它繪製的圓,但我想目標))
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);
}
非常感謝,它的工作原理 – user1847064