Before I use OpenCV2, and there is a program for select a rectangle, but now it don't function.
How to change the program?????
----------
Mat image;
bool backprojMode = false;
bool selectObject = false;
int trackObject = 0;
Point origin;
Rect selection;
static void onMouse( int event, int x, int y, int, void* ){
if( selectObject ){
selection.x = MIN(x, origin.x);
selection.y = MIN(y, origin.y);
selection.width = std::abs(x - origin.x);
selection.height = std::abs(y - origin.y);
selection &= Rect(0, 0, image.cols, image.rows);
}
switch( event ) {
case CV_EVENT_LBUTTONDOWN:
origin = Point(x,y);
selection = Rect(x,y,0,0);
selectObject = true;
break;
case CV_EVENT_LBUTTONUP:
selectObject = false;
if( selection.width > 0 && selection.height > 0 )
trackObject = -1;
break;
}
}
↧