opencv用鼠标画矩形
来源:互联网 发布:c语言打印double 编辑:程序博客网 时间:2024/06/05 03:01
代码来自《learning opencv》
#include<cv.h>#include<highgui.h>void my_mouse_callback(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(0xff,0x00,0x00));}int main(){box=cvRect(-1,-1,0,0);IplImage*image=cvCreateImage(cvSize(500,500),IPL_DEPTH_8U,3);cvZero(image);IplImage *temp=cvCloneImage(image);cvNamedWindow("box1");cvSetMouseCallback("box1",my_mouse_callback,(void*)image);while(1){cvCopyImage(image,temp);if(drawing_box)draw_box(temp,box);cvShowImage("box1",temp);if(cvWaitKey(18)==27)break;}cvReleaseImage(&image);cvReleaseImage(&temp);cvDestroyWindow("box1");return 0;}void my_mouse_callback(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;}}
0 0
- opencv用鼠标画矩形
- OpenCV学习笔记-用鼠标在窗口中画矩形
- opencv-鼠标在窗口中画矩形
- OpenCV的鼠标操作——用鼠标画矩形(代码解读)
- Opencv鼠标描绘矩形框
- OpenCV鼠标画图例程,鼠标绘制矩形
- OpenCV鼠标画图例程,鼠标绘制矩形
- OpenCV鼠标画图例程,鼠标绘制矩形
- 基于opencv用鼠标在窗口中画矩形和线段的程序
- opencv中实现鼠标选定矩形框
- OpenCV利用鼠标进行矩形ROI选取
- opencv 使用鼠标选定矩形框
- Opencv中利用鼠标绘制矩形
- opencv鼠标操作及GUI矩形绘画
- opencv鼠标四点获取一个矩形
- 用鼠标画矩形的win32代码
- 鼠标点击画矩形
- 鼠标画矩形
- WINCE5.0 6.0开发环境配置与SDK下载
- 【Java TCP/IP Socket】TCP Socket(含代码)
- POJ 2019 Cornfields 二维线段树的初始化与最值查询
- 说说erlang tuple和record结构
- Win7系统下VS2005_2008不识别WinCE5 SDK
- opencv用鼠标画矩形
- _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) Exception
- 快速排序
- 从如何解决问题到如何学习算法
- 登陆+抽象工厂+反射配置文件
- Python 函数章节部分简单练习题
- Linux下使用C/C++访问数据库——MySQL篇
- RTS/CTS协议
- Linux 与 BSD 有什么不同?