#include<opencv2/opencv.hpp>
#include<iostream>
#include<vector>
using namespace cv;
using namespace std;
Mat findImage;
Mat modeImage;
bool g_bDrawingBox = false;
Rect g_rectangle;
RNG &g_rng = theRNG();
Mat modeROIImage;
Point startPoint;
Mat tempImage;
Mat findMidImage;
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;
tempImage.copyTo(modeImage);
rectangle(modeImage, startPoint
, Point(startPoint.x + g_rectangle.width, startPoint.y + g_rectangle.height)
, Scalar(g_rng.uniform(0, 255), g_rng.uniform(0, 255), g_rng.uniform(0, 255)));
imshow("【模版图像】", modeImage);
}
}
break;
opencv3 实现模版匹配-鼠标事件
最新推荐文章于 2024-07-20 12:50:11 发布
本文详细介绍了如何使用OpenCV3进行模板匹配,并结合鼠标事件进行交互操作。通过实例代码,展示了如何加载图像,设置模板,以及实现鼠标选择区域进行匹配的功能,帮助读者深入理解OpenCV3的图像处理能力。
摘要由CSDN通过智能技术生成