#include<iostream>
#include<opencv2/opencv.hpp>
#define WINDOW_NAME "鼠标事件窗口"
using namespace std;
using namespace cv;
Rect g_rectangle, g_endrect;
bool g_bDrawingBox = false;
RNG g_rng(12345);
int _flag = 2;
void DrawRectangle(Mat &img, Rect box)
{
rectangle(img, box.tl(), box.br(), Scalar(g_rng.uniform(0, 255), g_rng.uniform(0, 255), g_rng.uniform(0, 255)), 2);
}
void onMouse(int event, int x, int y, int flag, void *param)
{
Mat &img = *(cv::Mat*)param;
switch (event)
{
//移动鼠标的时候
case CV_EVENT_MOUSEMOVE:
{
if (g_bDrawingBox)
{
g_rectangle.width = x - g_rectangle.x;
g_rectangle.height = y - g_rectangle.y;
g_endrect = Rect(x, y, g_rectangle.width, g_rectangle.height);
}
/*if (x <= 0) x = 0;
if (y <= 0) y = 0;
if (x >= img.cols - 1) x = img.cols - 1;
if (
Opencv鼠标截取图片场景
最新推荐文章于 2023-09-02 17:39:31 发布