//学习OPENCV 第4章
#include<cv.h>
#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <cxcore.h>
#include<assert.h>
CvRect box;
bool drawing_box = false; //鼠标回调函数中,绘制矩形标志位
int g_switch_value = 1;
void switch_off_function();
void switch_on_function();
void switch_callback(int position);
//定义鼠标回调函数
void my_mouse_callback(int event, int x, int y, int flags, void* param);
void draw_box(IplImage* img, CvRect rect);
int main(int argc, char* argv[])
{
//-------------------------------------------------------------------
/**鼠标事件**/
/*
cvWaitKey()捕捉用户的单次触发事件。鼠标事件采用回调函数的方式处理。
创建回调函数--注册函数--发生鼠标点击事件--调用函数
*/
//1.定义CvRect全局变量box:需要绘制的矩形
box = cvRect(-1,-1,0,0);
//2.建立空白图像区域初始化为0,克隆到tmp
IplImage* image = cvCreateImage(cvSize(200,200),IPL_DEPTH_8U,3);
cvZero(image);//所有通道元素置为0
//cvCloneImage自动开辟内存,复制image数据,所有属性全部克隆
IplImage* temp = cvCloneImage(imag
鼠标事件与trackbar开关
最新推荐文章于 2024-04-04 07:53:12 发布
本文介绍了如何在OpenCV中使用鼠标事件来绘制矩形,并通过滑动条实现视频播放的开关功能。通过`cvSetMouseCallback`注册鼠标回调函数,实现在图像上绘制矩形。同时,利用`cvCreateTrackbar`创建滑动条,通过回调函数控制视频的播放与暂停。
摘要由CSDN通过智能技术生成