OpenCV中鼠标交互-绘制矩形框
OpenCV中鼠标交互-绘制矩形框
·具体流程:
1、绑定回调函数
2、在回调函数中检测触发的事件
3、根据不同事件做出不同动作
一、绑定回调函数
cv2.setMouseCallback('origianl',click_event)
'origianl’为窗体的名字,client_event为回调函数的函数名
二、在回调函数中检测触发的事件
回调函数的的参数为固定格式:
第一个参数event:事件类型
x:为坐标x
y:为坐标y
flags:为鼠标滚轮的方向
param:为传入参数
def click_event(event,x,y,flags,param):global startPglobal endPglobal flagglobal currentPglobal stopglobal imgimg2 = img.copy()if event == cv2.EVENT_RBUTTONDOWN:flag = 1startP = (x,y)stop = 1if event == cv2.EVENT_LBUTTONDOWN:flag = 0endP = (x,y)cv2.rectangle(img,startP,endP,[0,0,255])stop = 0if event == cv2.EVENT_MOUSEMOVE:currentP = (x,y)if flag == 1:cv2.rectangle(img2,startP,currentP,[0,0,255])cv2.imshow('origianl',img2)if event == cv2.EVENT_MOUSEWHEEL:print(x,y)print(flags)print(param)
三、根据不同事件做出不同动作
常用的鼠标事件有以下几种:cv2.EVENT_RBUTTONDOWN、cv2.EVENT_RBUTTONUP、cv2.EVENT_MOUSEMOVE、cv2.MOUSEWHEEL.以上四种事件为,右键按下事件、右键松开事件、鼠标移动事件、鼠标滚轮事件
右键按下为矩形框开始点,左键按下为矩形框右下角结束点,将图像绘制在img图像中可以保存。按下右键然后移动鼠标会实时显示矩形框,此时将矩形框显示在img的copy版上并不保存。
具体的实现效果如下:
OpenCV中鼠标交互-绘制矩形框相关推荐
- opencv进阶学习笔记6:使用鼠标在图像上绘制矩形框或者多边形框
基础版笔记传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录: python+opencv进阶版学习笔记目录(适合有一定基础) 感兴趣区域传统绘制: openc ...
- Opencv(六)模板匹配、轮廓检测、轮廓周围绘制矩形框和圆形框
模板匹配介绍 模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域. 所以模板匹配首先需要一个模板图像T(给定的子图像) 另外需要一个待检测的图像-源图像S 工作方法,在带检测图像上,从左到右,从 ...
- python PyQt5如何绘制矩形框?(画框/绘框)
参考代码: from PyQt5.QtWidgets import QWidget, QApplication, QLabel from PyQt5.QtCore import QRect, Qt f ...
- 计算机图形学实验四 OpenGL的鼠标交互绘制
一.实验目的 1.掌握OpenGL的鼠标按钮响应函数. 2.掌握OpenGL的鼠标移动响应函数. 3.进一步巩固OpenGL的基本图元绘制基础. 二.实验内容 1.鼠标画草图--实现鼠标点到哪,线就画 ...
- svg 读取SVG文件并绘制矩形框选择图元
首先是SVG文件,里面包含了几个不同的图元: <?xml version='1.0' standalone='no'?> <!DOCTYPE svg PUBLIC "-// ...
- Opencv中鼠标作为画笔
目标 学习处理OpenCV中的鼠标事件 您将学习以下功能:cv2.setMouseCallback() 简单演示 在这里,我们创建了一个简单的应用程序,它在图像上画一个圆圈,只要我们双击它. 首先,我 ...
- pyqt5在图像上绘制矩形框
pyqt5在图像上绘制矩形框 from PyQt5.QtWidgets import QWidget, QApplication, QLabel from PyQt5.QtCore import QR ...
- [FFmpeg] 绘制矩形框
最简单的是使用滤镜 # 查看滤镜帮助 ffplay -h filter=drawbox # 单个矩形 ffplay -i fpx.gif -vf drawbox:x=10:y=10:w=50:h=50 ...
- 利用cv2.rectangle()绘制矩形框(python)
文章目录 cv2.rectangle绘制矩形框 使用解析 范例 总结 cv2.addWeighted绘制半透明框 使用解析 范例 总结 使用cv2.rectangle可以绘制矩形框,但要绘制半透明框使 ...
最新文章
- Windows Phone实用开发技巧(32):照片角度处理
- mysql 配置执行计划_MySQL深入学习(二)--配置、索引、执行计划
- Linux平台 Oracle 18c RAC安装Part2:GI配置
- linux -- chcp
- Apache Storm 实时流处理系统通信机制源码分析
- linux 下opencv安装教程,linux 下 opencv安装
- postman测试工具,如何对参数使用md5加密
- ArrayAdapter requires the resource ID to be a TextView错误
- 八、面向对象三大特征(二)—— 继承
- 终端安全防护技术研究(四)
- 三维激光雷达点云处理发展趋势
- TOP公链主网技术:多层扩容和多层分片
- HCIA网络基础17-HDLC和PPP
- Charles抓包与改写
- 微信公众平台开发及优势
- MicroC实现Expr部分和for循环,无续算版本Comp.fs展示
- 数字政府智慧城市数字化运营管理中台建设思路分析
- Vue3组件化开发(二)
- 实在智能:RPA领域如何使用CRM实现业务精益化管理
- l36h android l rom,索尼L36h的rom刷机包分享