cvSetMouseCallback使用
来源:互联网 发布:新会人民法院 淘宝拍卖 编辑:程序博客网 时间:2024/05/23 16:38
window_name 回掉函数需要注册到的窗口,即产生事件的窗口
on_mouse 在注册窗口点击鼠标时,执行的回掉函数
param 用于传递到回掉函数的参数
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
#include <cxcore.h>
static unsigned int gPosition = 0;
static IplImage *src = NULL;
static IplImage *dst = NULL;
static CvPoint cvLeftAxis={-1,-1};
static CvPoint cvRightAxis={-1,-1};
static CvFont font;
static void cvOnMouseCallBack(int event,int x,int y,int flags,void *param)
{
switch(event)
{
case CV_EVENT_LBUTTONDOWN:
cvLeftAxis.x = x;
cvLeftAxis.y = y;
break;
case CV_EVENT_MOUSEMOVE:
cvRightAxis.x = x;
cvRightAxis.y = y;
break;
case CV_EVENT_LBUTTONUP:
cvSetImageROI(src,cvRect(cvLeftAxis.x,cvLeftAxis.y,cvRightAxis.x,cvRightAxis.y));
dst = cvCreateImage(cvGetSize(src),src->depth,src->nChannels);
cvCopy(src,dst,NULL);
cvNamedWindow("DstImage",1);
cvShowImage("DstImage",dst);
cvResetImageROI(src);
cvRectangle(src,cvLeftAxis,cvRightAxis,cvScalar(0,125,12,125),1,8,0);
cvShowImage("SrcImage",src);
break;
default:break;
}
}
int main(int argv,char **argc)
{
if(argv==2&&(src = cvLoadImage(argc[1],1)))
{
cvNamedWindow("SrcImage",1);
cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX,1,1,1,2,8);
cvSetMouseCallback("SrcImage",cvOnMouseCallBack,NULL);
cvShowImage("SrcImage",src);
cvWaitKey(0);
cvReleaseImage(&src);
cvReleaseImage(&dst);
cvDestroyAllWindows();
}
return 0;
}
- cvSetMouseCallback使用
- MFC下使用cvSetMouseCallback
- MFC下使用cvSetMouseCallback()的小结
- MFC下使用cvSetMouseCallback()的小结
- OpenCV中响应鼠标信息cvSetMouseCallback函数的使用
- MFC中使用cvSetMouseCallback对图片进行裁剪
- Qt中使用opencv中得cvSetMouseCallback回调函数
- cvSetMouseCallback函数
- CvSetMouseCallback函数
- cvSetMouseCallback函数
- 2014年4月10日 MFC下使用cvSetMouseCallback()
- cvSetMouseCallback( "img", on_mouse, NULL);on_mouse回调函数在MFC中的使用
- OpenCV响应鼠标函数cvSetMouseCallback()和其副程式onMouse()的使用(OpenCV2.4.5)
- cvSetMouseCallback()鼠标坐标、事件返回
- <一>新手学opencv之cvSetMouseCallback笔记
- error C2664: 'cvSetMouseCallback' : cannot convert parameter 2 from ....to'CvMouseback'
- opencv鼠标操作cvSetMouseCallback和文本显示cvPutText的总结
- error C2664: 'cvSetMouseCallback' : cannot convert parameter 2 from 'void (int,int,int,int,void *)'
- java学习笔记4.10
- linux设置代理到局域网中的主机
- 正常盒模型和怪异盒模型
- 多表查询
- 运维小白的python之路(四)
- cvSetMouseCallback使用
- Hibernate中的SessionFactoty 、Session、Configuration
- Java 数组遍历
- Python基础if __name__ == '__main__'
- Eclipse 配置
- js常用的正则表达式
- 2017.4.16 麦森数 思考记录
- SRM554 Div1 500
- POJ 3130-How I Mathematician Wonder What You Are!(计算几何-星形-半平面交逆时针模板)