opencv鼠标事件和滑条操作
鼠标事件
#include<opencv2/opencv.hpp>
#include<iostream>using namespace cv;
using namespace std;
/*
Mat img(500, 500, CV_8UC3, Scalar(255, 255, 255));//定义全局变量void OnMouse(int event, int x, int y, int flags, void* param) {if (event == CV_EVENT_LBUTTONDOWN)//如果鼠标按下{cout << "mouse down" << endl;//控制台输出circle(img, Point(x, y), 80, Scalar(255, 255, 0), 2, 8);//在img上画圆}
}
void main() {namedWindow("mouse", CV_WINDOW_AUTOSIZE);setMouseCallback("mouse", OnMouse, 0);while (1) {imshow("mouse", img);if (27 == waitKey(10))//每隔10ms检测按时是否按下break;}}
*/
/*将Mat img设置为指针传入
Point pt;
void OnMouse(int event, int x, int y, int flag, void* param) {Mat img = *(Mat*)param;//将param强制转换为Mat指针,*(Mat*)=Mat, 类比*(int*)= int一样switch (event){case CV_EVENT_LBUTTONDOWN: //鼠标左键按下时pt.x = x;pt.y = y;break;case CV_EVENT_LBUTTONUP: //鼠标左键抬起时rectangle(img, pt, Point(x, y), Scalar(0, 255, 0), 2, 8);break;default:break;}
}void main()
{Mat img(500, 500, CV_8UC3, Scalar(255, 255, 255));namedWindow("mouse", CV_WINDOW_AUTOSIZE);setMouseCallback("mouse", OnMouse, &img);//传入img地址这样就不必将img设置为全局变量while (1) {imshow("mouse", img);if (27 == waitKey(10))break;}
}
滑条操作
Mat dst;
int value = 20;void onChange(int, void* param) {Mat src = *(Mat*)param;threshold(src, dst, value, 255, THRESH_BINARY);//二值化imshow("TrackBar", dst);
}void main() {Mat src = imread("../source/1.jpg", 0);//读入灰度图像namedWindow("TrackBar", CV_WINDOW_AUTOSIZE);createTrackbar("Threshold", "TrackBar", &value, 255, onChange, &src);threshold(src, dst, value, 255, THRESH_BINARY);imshow("TrackBar", dst);waitKey(0);
}
opencv鼠标事件和滑条操作相关推荐
- OpenCV鼠标事件和滑动条事件
鼠标事件 ① 鼠标事件是通过传统的回调函数机制来完成. void your_mouse_callback(int event, int x, int y, int flags, void* param ...
- Python,OpenCV鼠标事件进行矩形、圆形的绘制(随机颜色、随机半径)
Python,OpenCV鼠标事件进行矩形.圆形的绘制(随机颜色.随机半径) 1. 效果图 2. 源码 参考 这篇博客将介绍鼠标事件,并介绍鼠标事件矩形.圆形的绘制: 所有的鼠标事件(左键按下.左键释 ...
- Day 2 - Opencv 鼠标事件回调并在图像上显示像素值
Day 2 - Opencv 鼠标事件回调并在图像上显示像素值 #include <highgui.hpp> #include <opencv.hpp> #include &l ...
- OpenCV————鼠标绘制和滑动条
导入包 import cv2 import numpy as np 可以通过下面的代码来查看所有的鼠标事件函数 events=[i for i in dir(cv2) if 'EVENT' in i] ...
- opencv画框返回坐标 python_python opencv鼠标事件实现画框圈定目标获取坐标信息
本文实例为大家分享了python-opencv鼠标事件画框圈定目标的具体代码,供大家参考,具体内容如下 在视频/相机中,用鼠标画矩形框,圈定目标,从而获得鼠标的起始坐标点a.终止坐标点b # -*- ...
- openCV鼠标事件实例
1.原理 OpenCV的鼠标事件主要涉及两个函数: 回调函数cvSetMouseCallback void cvSetMouseCallback( const char* window_name, C ...
- opencv 鼠标事件
import cv2 as cv events = [i for i in dir(cv) if 'EVENT' in i] print( events ) # 打印所有的鼠标事件 import nu ...
- C++ opencv 鼠标事件响应
1.API setMouseCallback 设置指定窗口的鼠标处理程序 共3个参数第1个参数 窗口名称第2个参数 处理鼠标事件的回调函数第3个参数 传递给回调函数的可选参数 MouseCallb ...
- qt中QScrollBar/QSlider鼠标点击滑条不能到达所点击的位置,只移动step距离修改
// 方法是鼠标点击事件 void XSlider::mousePressEvent(QMouseEvent *e){// 向上父控件传递鼠标事件:否则,鼠标其他事件会失灵QSlider::mouse ...
- opencv鼠标操作,画矩形
opencv鼠标操作,画矩形 效果图 主要两个函数在作用 //-------------------全局函数声明部分------------------------- //描述:全局函数的声明 //- ...
最新文章
- 灵玖Nlpir Parser语义智能系统精准汉语分词
- 我们来谈谈那些智能家居里的语音对话设备
- MPLS原理之MPLS基本结构—Vecloud微云
- 深入剖析微软ASP.NET Ajax中的数据绑定构架下篇之二
- 计算机操作系统思维导图_我在b站学计算机
- 静态成员函数与静态数据的使用
- 穿透防火墙调用EJB--rmi-http在JBOSS中的应用
- liunx中的gcc命令
- 错误java.lang.NoClassDefFoundError: org/jaxen/VariableContext
- eclipse导入android项目
- [FAQ21153]MT6761/MT6762/MT6765平台搭配LPDDR4 注意事项
- java基础学习1-java实验输出希腊字母表
- 雾霾天气下运动目标检测技术MATLAB
- RabbitMQ Federation 插件使用
- 米家和苹果HomeKit更推荐哪个,各自的优缺点如何?
- 这是一个只有一句话的木MA
- 浅析群控系统的发展之路,云控和群控的巨大差别
- Explaining Knowledge Graph Embedding via Latent Rule Learning
- RTX腾讯通怎么删除群聊人员
- 流浪地球动态桌面壁纸