65,202
社区成员




//鼠标响应
static void mouseHandler(int event, int x,int y ,int flags,void* Load)
{
IplImage *img0, *img1;
const Mat* mat;
load* tmpLoad=(load*)Load;
mat =(Mat *)tmpLoad->result3DImage;
img0 = (IplImage*)tmpLoad->img;
img1 = cvCloneImage(img0);
CvFont font, font2,font3;
uchar *ptr;
char label[1000];
char label2[1000];
char label3[1000];
cvInitFont (&font,CV_FONT_HERSHEY_PLAIN,1,1,0,1,1);
cvInitFont (&font2,CV_FONT_HERSHEY_PLAIN,1,1,0,1,1);
cvInitFont (&font3,CV_FONT_HERSHEY_PLAIN,1,1,0,1,1);
if(event==CV_EVENT_LBUTTONDOWN)
{
ptr = cvPtr2D(img1, y,x,NULL); //获取像素的灰度值
Vec3f point = mat.at<Vec3f>(y, x);
sprintf(label, "Color:(%d, %d, %d)",ptr[0], ptr[1], ptr[2]);
sprintf(label2, "Pixel:(%d, %d)", x, y); //获取坐标点位置
sprintf(label3, "3D:(%d, %d,%d)", x, y); //获取坐标点位置
cvRectangle(img1, cvPoint(x,y-12),cvPoint(x+180, y+20),
CV_RGB(255,0,0),CV_FILLED, 8,0);
cvPutText(img1,label,cvPoint(x,y),&font,CV_RGB(255,255,255) );
cvPutText(img1,label2,cvPoint(x,y+20),&font2,CV_RGB(255,255,255) );
cvPutText(img1,label3,cvPoint(x+20,y+20),&font3,CV_RGB(255,255,255) );
cvShowImage("src",img1);
}
}
A->B
等价于
(*A).B