// 4-3.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<opencv/cv.h> #include<opencv/highgui.h> CvPoint begin,end; void my_mouse_callback( int event, int x, int y, int flags, void* param ); int main() { IplImage* img=cvLoadImage("C:\\lena.jpg"); cvNamedWindow("DrawRectangle",CV_WINDOW_AUTOSIZE); cvSetMouseCallback("DrawRectangle",my_mouse_callback,(void*)img); cvShowImage("DrawRectangle",img); cvWaitKey(0); cvDestroyWindow("DrawRectangle"); cvReleaseImage(&img); } void my_mouse_callback(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, CV_RGB(255, 0, 0), CV_FILLED, 8, 0 ); cvShowImage("DrawRectangle",img1); } break; } }
转载于:https://www.cnblogs.com/OceanDeep/archive/2011/08/30/2284588.html