鼠标在窗口中绘制矩形
来源:互联网 发布:php parse url 编辑:程序博客网 时间:2024/05/22 14:13
#include <cv.h>#include <highgui.h>#include <stdio.h>using namespace cv;using namespace std;/***********回调函数声明****************/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(int argc, char* 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");//创建窗口/****************注册回调函数到OpenCV中***********************/cvSetMouseCallback("Box Example", my_mouse_callback, (void *)image);while (1){cvCopyImage(image, temp);//将image数据复制到temp中if (drawing_box)draw_box(temp, box);//在temp中绘制矩形cvShowImage("Box Example", temp);//在Box Example窗口中显示绘制的矩形if (cvWaitKey(15) == 27)break;}}void my_mouse_callback(int event, int x, int y, int flags, void* param){//将注册回调函数中的参数(void*)param恢复并保存到image中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】通过鼠标在图像中绘制RotatedRect旋转矩形
- OpenCV学习笔记-用鼠标在窗口中画矩形
- 在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- 在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- 在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- Opencv中利用鼠标绘制矩形
- SilverLight鼠标绘制矩形
- 使用鼠标绘制矩形
- 鼠标绘制矩形
- 鼠标绘制矩形
- [vc]在鼠标移动过程中绘制矩形,有效解决重影问题
- OpenCV学习笔记(18):在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- 例4-1......例4-2 鼠标在窗口中画矩形
- 基于opencv用鼠标在窗口中画矩形和线段的程序
- 计算机英语
- Python-OpenCV 处理视频(二): 视频处理
- 我来学习excel
- HTML5 & CSS3 下拉菜单效果
- 从零开始微信app支付v3-iOS版
- 鼠标在窗口中绘制矩形
- php手册笔记-php标记
- 理解MySQL——索引与优化
- Python-OpenCV 处理视频(三): 标记运动轨迹
- java页面乱码
- 分享你最喜欢的技巧和提示(Xcode,Objective-C,Swift,C...等等)
- Python--初识
- 2016书单
- xcode7 插件实效解决方法