OpenCV 接收鼠标消息——用鼠标画长方形
来源:互联网 发布:sql2005如何导入数据库 编辑:程序博客网 时间:2024/05/17 23:45
创建一幅黑色的图像,显示后,用鼠标在显示窗口中,拖动以画出长方形:
#include "stdafx.h"#include <cv.h>#include <cxcore.h>#include <highgui.h>void myMouseCallBack(int event, int x, int y, int flags, void * param);CvRect box;bool drawing_box = false;void draw_box(IplImage * img, CvRect rect){cvRectangle(img,cvPoint(box.x, box.y),cvPoint(box.x + box.width, box.y + box.height),cvScalar(0x00, 0x00, 0xff));}int _tmain(int argc, _TCHAR* argv[]){box = cvRect(-1, -1, 0, 0);IplImage * image = cvCreateImage(cvSize(200,200), IPL_DEPTH_8U, 3);cvZero(image);IplImage * temp = cvCloneImage(image);//会重新分配内存空间cvNamedWindow("Box Example");cvSetMouseCallback("Box Example", myMouseCallBack, (void*)image);while(1){cvCopyImage(image, temp);//只是复制值,不会分配新空间if(drawing_box) draw_box(temp,box);cvShowImage("Box Example", temp);if(cvWaitKey(15) == 27)break;}cvReleaseImage(&image);cvReleaseImage(&temp);cvDestroyWindow("Box Example");return 0;}void myMouseCallBack(int event, int x, int y, int flags, void * param){IplImage * image = (IplImage*)param;switch(event){case CV_EVENT_MOUSEMOVE:{if(drawing_box){box.width = x - box.x;box.height = y - box.y;}}break;case CV_EVENT_LBUTTONDOWN:{drawing_box = true;box = cvRect(x,y,0,0);}break;case CV_EVENT_LBUTTONUP:{drawing_box = false;if(box.width < 0){box.x += box.width;box.width *= -1;}if(box.height < 0){box.y += box.height;box.height *= -1;}draw_box(image,box);}break;}}结果:
- OpenCV 接收鼠标消息——用鼠标画长方形
- OpenCV 接收鼠标消息——用鼠标画长方形
- OpenCV的鼠标操作——用鼠标画矩形(代码解读)
- OpenCV中响应鼠标消息
- OpenCV中响应鼠标消息
- OpenCV中响应鼠标消息
- opencv用鼠标画矩形
- Opencv用鼠标画圆
- 07基本鼠标操作——判断鼠标消息
- OpenCV之利用鼠标获取坐标 响应鼠标消息
- opencv 创建鼠标消息的问题
- opencv学习笔记——鼠标操作
- Win32学习笔记——鼠标消息
- WIN32学习——鼠标消息
- 鼠标消息
- 鼠标消息
- 鼠标消息
- 鼠标消息
- 2012年下半年8月-12月博客访问量计划
- eclipse 简单的validation配置
- Objective-c 中CGGeometry几何类常用方法简单整理
- 如何下载优酷视频
- maven-01 安装
- OpenCV 接收鼠标消息——用鼠标画长方形
- nedmalloc内存分配器配置介绍
- 如何提高数学分析水平(转载)
- 《uCOS51移植心得》---七年前之《快快乐乐跟我学51单片机操作系统和IP栈》第三部分为uCOS51增加Shell界面
- maven常用命令
- 《uCOS51移植心得》---七年前之《快快乐乐跟我学51单片机操作系统和IP栈》 第四部分在51单片机上固化uCOS51的说明
- 快速排序总结
- 《uCOS51移植心得》---七年前之《快快乐乐跟我学51单片机操作系统和IP栈》 第五部分.NE2000网卡芯片驱动程序
- [图论]综述