#include "cv.h"
#include "highgui.h"
#include <stdio.h>
#include <cxcore.h>
IplImage *src = NULL;
IplImage *dst = NULL;
CvFont font;
CvPoint LeftTop,RightButtom;
static void cvMouseCallBack(int event, int x, int y, int flags, void* param)
{
switch(event)
{
case CV_EVENT_LBUTTONDOWN:
LeftTop.x = x;
LeftTop.y = y;
break;
case CV_EVENT_LBUTTONUP:
RightButtom.x = x;
RightButtom.y = y;
cvSetImageROI(src,cvRect(LeftTop.x,LeftTop.y,RightButtom.x,RightButtom.y));
cvNot(src,src);
cvResetImageROI(src);
cvRectangle(src,LeftTop,RightButtom,cvScalar(0,200,0,0),1,8,0);
cvShowImage("Practice",src);
break;
}
}
int main(int argv,char **argc)
{
if((argv==2)&&(src=cvLoadImage(argc[1],1)))
{
cvNamedWindow("Practice",1);
cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX,1,1,0,1,8);
cvSetMouseCallback("Practice",cvMouseCallBack,NULL);
cvShowImage("Practice",src);
cvWaitKey(0);
cvDestroyAllWindows();
cvReleaseImage(&src);
}
return 0;
}
#include "highgui.h"
#include <stdio.h>
#include <cxcore.h>
IplImage *src = NULL;
IplImage *dst = NULL;
CvFont font;
CvPoint LeftTop,RightButtom;
static void cvMouseCallBack(int event, int x, int y, int flags, void* param)
{
switch(event)
{
case CV_EVENT_LBUTTONDOWN:
LeftTop.x = x;
LeftTop.y = y;
break;
case CV_EVENT_LBUTTONUP:
RightButtom.x = x;
RightButtom.y = y;
cvSetImageROI(src,cvRect(LeftTop.x,LeftTop.y,RightButtom.x,RightButtom.y));
cvNot(src,src);
cvResetImageROI(src);
cvRectangle(src,LeftTop,RightButtom,cvScalar(0,200,0,0),1,8,0);
cvShowImage("Practice",src);
break;
}
}
int main(int argv,char **argc)
{
if((argv==2)&&(src=cvLoadImage(argc[1],1)))
{
cvNamedWindow("Practice",1);
cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX,1,1,0,1,8);
cvSetMouseCallback("Practice",cvMouseCallBack,NULL);
cvShowImage("Practice",src);
cvWaitKey(0);
cvDestroyAllWindows();
cvReleaseImage(&src);
}
return 0;
}