#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()
{
box = cvRect(-,-,,);
IplImage* image = cvCreateImage(
cvSize(,),
IPL_DEPTH_8U, );
cvZero(image);
IplImage* temp = cvCloneImage(image); cvNamedWindow("Box Example"); cvSetMouseCallback(
"Box Example",
my_mouse_callback,
(void*)image
); while()
{
cvCopyImage(image,temp);
if(drawing_box) draw_box(temp,box);
cvShowImage("Box Example",temp); if(cvWaitKey()==) break;
} cvReleaseImage(&image);
cvReleaseImage(&temp);
cvDestroyAllWindows(); } void my_mouse_callback(
int event,int x,int y,int flag,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,,);
}
break;
case CV_EVENT_LBUTTONUP:
{
drawing_box = false;
if(box.width<)
{
box.x += box.width;
box.width*=-;
}
if(box.height<)
{
box.y+=box.height;
box.height*=-;
}
draw_box(image,box);
}
break;
}
}

最新文章

  1. 用ffmpeg快速剪切和合并视频
  2. iOS开发~CocoaPods使用详细说明
  3. Sequelize 关系模型简介
  4. 记一次TFS 的 垃圾提示(无法下载 未获取项目 的 代码)
  5. Android Weak Handler:可以避免内存泄漏的Handler库
  6. HMM隐马尔科夫模型
  7. Hello, Github Blog
  8. 【HDOJ】2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
  9. 配置并学习微信JS-SDK(2)—图片接口
  10. Nginx 基本配置和日志分析
  11. linux function
  12. C#中结构与类的区别
  13. 实例:怎样使用 Netty 下载文件
  14. Android版本更新时对SQLite数据库升级或者降级遇到的问题
  15. Service Worker
  16. Mongodb的集合插入一个字段
  17. C++中#include&lt;iostream&gt;
  18. oracle 字符转换成数字
  19. android4.3 截屏功能的尝试与失败分析
  20. CCAction、CCFiniteTimeAction、CCSpeed、CCFollow

热门文章

  1. django 用model来简化form
  2. ASP.NET MVC学习---(五)MVC初体验
  3. 仿苹果电脑任务栏菜单&amp;&amp;拼图小游戏&amp;&amp;模拟表单控件
  4. 编程算法 - 食物链 并查集 代码(C)
  5. RxJava操作符总结之过滤
  6. Unity3D 中脚本执行的先后顺序
  7. 浏览器网页推断手机是否安装IOS/Androidclient程序
  8. SoC嵌入式软件架构设计之三:代码分块(Bank)设计原则
  9. wps文档忘记保存关闭了怎么恢复
  10. css 背景 平移 动画