窗口鼠标事件的响应 在鼠标窗口中绘制矩形的程序
来源:互联网 发布:数据治理成熟度模型 编辑:程序博客网 时间:2024/05/21 22:22
这里主要是训练怎么去响应鼠标响应事件,那怎么去定义鼠标响应函数呢?
void CvMouseCallback(
int event;//鼠标响应事件的类型如鼠标右键弹起,右键按下,CV_EVENT_LBUTTONDOWN,CV_EVENT_LBUTTONDOWN)
int x,//鼠标响应是所在的位置,这里x,y是指像素坐标,所以与窗口的大小无关,它只是用像素来定位
int y,
int falgs,//指定了每一个事件在发生时的不同状态
void *param//这个参数由注册鼠标响应时间的时候传入
)//cvMouseCallback名字是可以改变的,不准确,应该说必须改---
另外一个重要函数就是
CvSetMouseCallback(
const char*window_name,//窗口的名字,也就是你要捕获哪个窗口的鼠标响应事件
CvMouseCallback on_mouse,//你的鼠标响应事件函数的名字
void * param=NULL//这个参数就是就是要传进鼠标响应事件的参数,在本例中,我使用的是将图像的地址传进去
}
下面附上
#include "cv.h"#include "highgui.h"#include "math.h"bool flag=false;CvRect box;void Mouse_Call_Back(int event,int x,int y,int flags,void *param){IplImage *image = (IplImage*)param;//cvNamedWindow("test",1);//cvPoint start;switch(event){case CV_EVENT_LBUTTONDOWN: box.x=x; box.y=y;break;case CV_EVENT_LBUTTONUP:box.width=abs(x-box.x);box.height=abs(y-box.y); cvRectangle(image,cvPoint(box.x,box.y),cvPoint(x,y),cvScalar(0,255,0));//cvShowImage("test",image);break;}}int main(){ cvNamedWindow("Mouse",1); IplImage * image =cvCreateImage(cvSize(500,500),IPL_DEPTH_8U,3); cvZero(image); cvSetMouseCallback("Mouse",Mouse_Call_Back,(void*)image); while(1) { int ch=cvWaitKey(33); if(ch==27) break; cvShowImage("Mouse",image); //注意显示图像,你每一次都对图像进行修改,但是不显示还是一样的,你只有一只输出图像,我刚开始就是把这个放到外面了, } cvWaitKey(0); cvDestroyWindow("Mouse"); return 0;}结果如下:
- 窗口鼠标事件的响应 在鼠标窗口中绘制矩形的程序
- 鼠标在窗口中绘制矩形
- 用鼠标在窗口中绘制矩形
- 基于opencv用鼠标在窗口中画矩形和线段的程序
- 解决窗口响应鼠标离开事件,在鼠标移动的地方添加信息注册
- opencv-鼠标在窗口中画矩形
- Java版SLG游戏开发入门[0]--让绘制的窗口响应鼠标事件
- JAVA作业 窗口响应鼠标事件:鼠标在画布上画圆
- opencv用鼠标在窗口中画方形的程序
- opencv用鼠标在窗口中画方形的程序
- OpenCV学习笔记-用鼠标在窗口中画矩形
- 让窗口响应鼠标双击事件
- cocoa编程,窗口响应鼠标点击事件
- 鼠标事件的响应
- OPENCV中例4-1用鼠标在窗口中画方形的程序
- 在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- 在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- 在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- html中如何发送邮件
- HTC G13气愤
- javascript常用
- qsort函数
- xml中dom的增加和删除、sax的解析(No.21)
- 窗口鼠标事件的响应 在鼠标窗口中绘制矩形的程序
- 一个通用链表的简单实现
- Android 屏蔽指定activity启动(程序锁)
- 光线追踪试玩
- Webkit HashIterator
- CentOS–root密码忘记的解决办法
- Asp.Net 显示程序集版本号
- 棋盘分割 动态规划 poj 1191
- 没有到绝境的我会不会使出自己最大的努力?