c_cpp 鼠标回调函数on_MouseHandle()
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 鼠标回调函数on_MouseHandle()相关的知识,希望对你有一定的参考价值。
//--------------------------------【on_MouseHandle( )函数】-----------------------------
// 描述:鼠标回调函数,根据不同的鼠标事件进行不同的操作
//-----------------------------------------------------------------------------------------------
void on_MouseHandle(int event, int x, int y, int flags, void* param)
{
Mat& image = *(cv::Mat*) param;
switch (event)
{
//鼠标移动消息
case EVENT_MOUSEMOVE:
{
if (g_bDrawingBox)//如果是否进行绘制的标识符为真,则记录下长和宽到RECT型变量中
{
g_rectangle.width = x - g_rectangle.x;
g_rectangle.height = y - g_rectangle.y;
}
}
break;
//左键按下消息
case EVENT_LBUTTONDOWN:
{
g_bDrawingBox = true;
g_rectangle = Rect(x, y, 0, 0);//记录起始点
}
break;
//左键抬起消息
case EVENT_LBUTTONUP:
{
g_bDrawingBox = false;//置标识符为false
//对宽和高小于0的处理
if (g_rectangle.width < 0)
{
g_rectangle.x += g_rectangle.width;
g_rectangle.width *= -1;
}
if (g_rectangle.height < 0)
{
g_rectangle.y += g_rectangle.height;
g_rectangle.height *= -1;
}
//调用函数进行绘制
DrawRectangle(image, g_rectangle);
}
break;
}
}
以上是关于c_cpp 鼠标回调函数on_MouseHandle()的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV学习3-----利用鼠标键盘回调函数实现标定人体关节点
opencv学习笔记03-鼠标回调与trackbar
Unity3DUGUI回调函数
c_cpp 具有回调的PulseAudio示例
c_cpp 【18】基本鼠标操作
Python-OpenCV下的窗口鼠标事件交互操作(实现鼠标移动轨迹的绘制)