示例#1
0
void onMouse(int event, int x, int y, int, void*)
{
	if (selectObject)
	{
		selectionRegion.SetXMin(MIN(x, originMouse.x));
		selectionRegion.SetYMin(MIN(y, originMouse.y));
		selectionRegion.SetWidth(std::abs(x - originMouse.x));
		selectionRegion.SetHeight(std::abs(y - originMouse.y));

	}
	switch (event)
	{
	case CV_EVENT_LBUTTONDOWN:
		printf("buttondown:    x:%d,y:%d\n",x,y);
		originMouse = Point(x, y);
		selectionRegion = IntRect(x, y, 0, 0);
		selectObject = true;
		break;
	case CV_EVENT_LBUTTONUP:
		selectObject = false;
	    newregion = true;
		trackObject = -1;
		printf("buttonup:    x:%d,y:%d,width:%d,height:%d\n", selectionRegion.XMin(), selectionRegion.YMin(), selectionRegion.Height(), selectionRegion.Width());
		break;
	}
}