CvPoint begin, end; //记录鼠标起始位置 void my_callback_GUI3a(int event, int x, int y, int flags, void* param) { IplImage* img0, *img1; img0 = (IplImage*)param; img1 = cvCloneImage(img0); switch(event) { case CV_EVENT_LBUTTONDOWN: begin = cvPoint(x, y); break; case CV_EVENT_LBUTTONUP: end = cvPoint(x, y); cvRectangle(img1, begin, end, cvScalar(0, 0, 255), 2); cvShowImage("Image", img1); break; } } void myGUI3a() { cvNamedWindow("Image"); IplImage* image = cvLoadImage("lena.jpg"); cvShowImage("Image", image); cvSetMouseCallback("Image", my_callback_GUI3a, image); cvWaitKey(0); cvReleaseImage(&image); cvDestroyWindow("Image"); }
《学习OpenCV(中文版)》第4章 练习3a
最新推荐文章于 2019-04-24 09:45:05 发布