我正在使用OpenCV来编写一个程序来显示像素在图像中的位置,当我点击它时它的RGB值作为条形图(来自教科书的例子)。现在问题是当我点击另一个像素时,上面的信息显示但最后一个条没有消失。我可以知道在新栏出来时删除前栏的方法吗? 这是代码:
const char *source_img="source image";
IplImage *source_copy;
IplImage *imgSource;
int pt_num=0;
void my_mouse_callback(int event, int x, int y, int flags, void* param){
if(event == CV_EVENT_LBUTTONUP){
CvFont font;
uchar* ptr;
char label[30];
imgSource = (IplImage*) param;
cvInitFont(&font, CV_FONT_HERSHEY_SCRIPT_SIMPLEX, .40, .40, 0, 1, 8);
ptr = cvPtr2D(imgSource, y, x, NULL);
sprintf(label, "(%d, %d, %d, %d, %d)",x,y, ptr[0], ptr[1], ptr[2]);
cvRectangle(
imgSource,
cvPoint(x, y-10),
cvPoint(x + 200, y + 8),
CV_RGB(0xff,0xff,0xff),
CV_FILLED,
8, 0
);
cvPutText(imgSource, label, cvPoint(x, y), &font, CV_RGB(0,0,0xff));
cvShowImage(source_img, imgSource);
}
}
请帮忙吗?