// 鼠标事件处理.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
void Mouse_on(int event, int x, int y, int flags, void *param)//param可以是任意参数
{
IplImage *img = (IplImage*)param;
switch (event)
{
case CV_EVENT_MOUSEMOVE://鼠标移动
if (flags&CV_EVENT_FLAG_CTRLKEY)//鼠标移动并且Ctrl键被按下
{
CV_IMAGE_ELEM(img, uchar, y, x * 3 + 0) = 0;
CV_IMAGE_ELEM(img, uchar, y, x * 3 + 1) = 0;
CV_IMAGE_ELEM(img, uchar, y, x * 3 + 2) = 0;
}
default:
break;
}
}
int main()
{
IplImage *img = cvLoadImage("C:\\Users\\Administrator\\Desktop\\PlantsVsZombies_1\\img\\model\\sun.png");
cvNamedWindow("123", 0);
cvSetMouseCallback("123", Mouse_on, img);//回调函数:将123窗口与Mouse_on鼠标事件函数关联起来
for (;;)
{
cvShowImage("123", img);
cvWaitKey(333);
}
return 0;
}
OpenCv鼠标事件管理
最新推荐文章于 2024-02-05 23:09:46 发布