编辑的学习opencv上的例子例题
来源:互联网 发布:qq三国转职js技能 编辑:程序博客网 时间:2024/06/15 06:52
在运行的时候是将鼠标中键按住,用两个点画出一个矩形。
#include<cv.h>#include<highgui.h>#include<stdio.h>void my_mouse_callback(int event, int x,int y, int flag,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 *img = cvCreateImage(cvSize(200, 200), IPL_DEPTH_8U, 3);cvZero(img);IplImage*temp = cvCloneImage(img);cvNamedWindow("box example");cvSetMouseCallback("box example",my_mouse_callback, (void*)img);while (1){cvCopy(img, temp);if (drawing_box) draw_box(temp, box);cvShowImage("box example", temp);if (cvWaitKey(15) == 27) break;}cvReleaseImage(&img);cvReleaseImage(&temp);cvDestroyWindow("box example");}void my_mouse_callback(int event, int x, int y, int flag, void *param){IplImage* img = (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_MBUTTONDOWN:{ 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(img,box);}break;}}
0 0
- 编辑的学习opencv上的例子例题
- opencv 简单的例子
- opencv的使用例子
- 很好的eayui 编辑例子
- 纵向编辑框的例子
- Zynq 上的OpenCV加速学习
- 学习java的经典例题
- vue的学习记录-例题
- 转移一个资料上的例题
- 2.2例题--棋盘上的距离--1657
- 例题2.28 桥上的绳索 UVa1356
- OpenCV学习(2)——一个简单的例子
- opencv-模板匹配的例子
- meego 上的opencv
- 网页编辑的上下标
- 一个自由编辑表格的小例子
- 一些VC例子的代码--编辑框
- 一个GridView编辑删除的例子
- 1016. 部分A+B (15)
- 读取配置文件的具体数值
- Qt中线程的推荐用法
- 几种通信协议的性能比较
- java synchorized lock CAS 区别
- 编辑的学习opencv上的例子例题
- HBase启动和停止命令
- c++中的内存对齐
- TOU-TOC 问题
- 一台电脑不能打开Github而其他电脑可以打开Github 解决方法
- Animation的使用
- 建造者模式
- ubuntu 开机自启动设置
- Android四大组件