python + opencv 第五节 鼠标响应事件

python知识:openCV实现鼠标事件捕获 用opencv实现简单画图程序: # -*- coding: utf-8 -*- import cv2 import numpy as np #mouse callback function state = False def MyCallBack(event,x,y,flags,param): global state if event == cv2.EVENT_LBUTTONDOWN: state = True elif event == cv2.EVEN. 阅读详情
#查看 cv2 有哪些被支持的事件
import cv2
import numpy as np
dir_cv2 = dir((cv2))
print(type(dir_cv2))
print(len(dir_cv2))
events = [i for i in dir(cv2) if 'EVENT' in i]
print(len(events))
print(events)
'''
18个事件
['EVENT_FLAG_ALTKEY', 'EVENT_FLAG_CTRLKEY', 'EVENT_FLAG_LBUTTON', 'EVENT_FLAG_MBUTTON', 'EVENT_FLAG_RBUTTON', 'EVENT_FLAG_SHIFTKEY', 
 'EVENT_LBUTTONDBLCLK', 'EVENT_LBUTTONDOWN', 'EVENT_LBUTTONUP', 'EVENT_MBUTTONDBLCLK', 'EVENT_MBUTTONDOWN', 'EVENT_MBUTTONUP', 
 'EVENT_MOUSEHWHEEL', 'EVENT_MOUSEMOVE', 'EVENT_MOUSEWHEEL', 'EVENT_RBUTTONDBLCLK', 'EVENT_RBUTTONDOWN', 'EVENT_RBUTTONUP']
'''
# 用到的函数
# def setMouseCallback(windowName, onMouse, param=None)
# cv2.setMouseCallback()


# 鼠标回调函数
# 这里注意,回调函数一定是要有五个参数
# 这里event 参数是事件  响应 EVENT_*事件的 (但是不响应 EVENT_FALG_*事件)
# x, y 参数是鼠标的坐标
# flags 参数是有没有其他特殊控制,比如在按左键的时候,按了Ctrl,Shift,Alt键等,参数也是刚刚上面的EVENT列表中的,通过事件名可以找到对应flags
#       flags 参数是相应 EVENT_FLAG_* 的事件名
# param 参数是 setMouseCallback 的第三个参数
def mouse_call_back_fun(event, x, y, flags, param):
    # print(f'tpye(parma) = {type(param)}') #这里 输出 <class 'list'>
    if event == cv2.EVENT_LBUTTONDBLCLK:
        cv2.circle(param[0], (x, y), param[1], (255, 255, 0), -1)
    if flags == cv2.EVENT_FLAG_ALTKEY: # 按下alt键,拖动鼠标
        cv2.rectangle(param[0], (x, y), (x + param[1], y + param[1]), (0, 255, 0), 3)

img = np.zeros((512, 512, 3), np.uint8)
cv2.namedWindow('mouse_call_back')
cv2.setMouseCallback('mouse_call_back', mouse_call_back_fun, [img, 20]) #这里通过设置 param参数,传递了 img 和 一个整数给回调函数

while(True):
    cv2.imshow('mouse_call_back', img)
    if cv2.waitKey(20) & 0xFF == 27:
        break

cv2.destroyAllWindows()

 

NXP KW47蓝牙MCU低功耗实测:从8μA睡眠到5年续航的优化实战 在物联网和嵌入式系统开发中,低功耗设计是决定电池供电设备续航能力的关键技术。其核心原理在于通过事件驱动、状态机管理和精细的电源域控制,使设备在空闲时进入深度睡眠,仅在需要时快速唤醒工作,从而将平均电流从毫安级降至微安级。这项技术的工程价值在于能够实现纽扣电池供电设备长达数年的使用寿命,广泛应用于智能家居传感器、可穿戴设备、资产追踪和工业监测等领域。以NXP KW47系列无线MCU为例,其集成的Arm Cortex-M33双核与专用射频单元,配合多级睡眠模式和高效DC-DC转换器,为超低功耗蓝牙应用提供了硬件 阅读详情

相关推荐

gm/ID设计方法实践指南:从理论曲线到电路优化的关键步骤

本文详细介绍了gm/ID设计方法在模拟IC设计中的实践指南。该方法通过直接利用工艺模型数据,将设计焦点从盲目调整晶体管尺寸转向选择关键的gm/ID工作点,从而在先进工艺下实现功耗、增益和带宽等性能的精准权衡与优化。文章从理论曲线生成到具体电路设计步骤,提供了完整的实战流程。

pandas7gardener的博客 479

OpenCV-Python(7): OpenCV中的鼠标操作及事件回调

学习目标 : 1.学会使用OpenCV 处理鼠标事件 2.掌握cv2.setMouseCallback()方法的使用 内容说明: 鼠标事件可以是鼠标上的任何动作,比如左键按下、左松开左、双击等。 我们可以从标事件上获得与标对应的图片上的坐标。根据这些信息我们可以做任何我们想做的事。可以执下列代码查看所有支持的标事件 1.查看所有的被支持的鼠标事件代码: import cv2 ev...

图灵追幕者博客录 1623

从零构建PEMFC仿真模型:MATLAB/Simulink中的模块化拆解与系统集成

本文详细介绍了如何在MATLAB/Simulink环境中从零构建质子交换膜燃料电池(PEMFC)仿真模型,包括电化学模型、气体供应系统和热管理系统的模块化实现。通过多物理场耦合技巧和系统集成策略,帮助工程师和研究者高效开发PEMFC控制策略,优化性能并实现实时仿真。

weixin_29294975的博客 360

OpenCV Python教程:如何使用鼠标事件绘制矩形?

鼠标事件有不同的类型,例如左键或右键点击、鼠标移动、左键双击等。鼠标事件返回鼠标事件的坐标。要在事件发生时执行某个操作,我们定义一个鼠标。我们使用和鼠标事件在图像上绘制矩形。

AI333888的博客 1528

使用SSE流式输出(Javaweb前后端实战)

SSE(Server-Sent Events)是一种在Web应用中实现单向实时通信的技术。通过SSE,服务器可以主动向客户端发送更新,而无需客户端不断发起请求。这对于需要实时更新的应用场景(如聊天应用、实时数据监控等)非常有用。(服务端单向传输客户端,长连接)

记得开心一点嘛的博客 1万+

游戏开发实战:如何在Unity中实现六边形网格地图(附完整代码)

本文详细介绍了在Unity中实现六边形网格地图的完整开发流程,从数学原理到实战代码。涵盖三种主流坐标系转换方法、距离计算算法对比、网格生成与渲染技巧,以及高级功能如网格高亮、寻路算法和性能优化策略。适合策略游戏、战棋类游戏开发者提升地图系统开发效率。

652

Opencv-Python鼠标事件

鼠标事件分为三大类:1.点击(Click) 2.放开(Down) 3.滑动(move) Event: #define CV_EVENT_MOUSEMOVE 0 滑动 #define CV_EVENT_LBUTTONDOWN 1 左键点击 #define CV_EVENT_RBUTTONDOWN 2 右键点击 #define CV_EVENT_MBUTTONDOWN 3 中键点击 #define CV_EVEN

Scarlett的博客 1394

华为OD新系统机试真题 - 准备生日礼物(Py/Java/C/C++/Js/Go)

华为OD机试新系统真题 4.8【准备生日礼物】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【准备生日礼物】

qq_45776114的博客 1479

Python OpenCV cv2鼠标事件标记和类型(MouseEventFlags、MouseEventTypes)

PyCharm社区版测试可用。可能专业版调用的后端不是Qt,某些不能用。

XerCis的博客 1万+

ST03N 里看不到 SE38 / SA38?别急,这不是没记录,而是被换了名字

摘要:SAP系统中SE38/SA38事务码在ST03N统计中可能"隐身",因其对话步骤被归集到对应的程序名(如SE38→RSABAPPROGRAM)。ST03N侧重工作负载聚合统计,而STAD提供短期明细记录。正确排查方法是:在ST03N中搜索程序名而非事务码,再通过STAD验证具体使用情况。这一现象在权限整改和审计中易造成误判,建议将程序名纳入常规监控,并区分ST03N(趋势分析)与STAD(事实校验)的不同用途。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 953

2025年全国青少年信息素养大赛初赛真题(算法创意实践挑战赛C++初中组:文末附答案)

2025年全国青少年信息素养大赛初赛真题(算法创意实践挑战赛C++初中组:文末附答案)

王老师青少年编程 3396

python-opencv控制鼠标操作

python;OpenCV;鼠标操作

摄影爱好者 3557

STM32 stack_size和heap_size大小设置的意义

在使用STM32编程时,一般情况下我们不会关注堆栈空间的大小,因为在STM32的启动文件中,已经帮我们预先设置好了堆栈空间的大小。如下图所示的启动代码中,Stack栈的大小为:0x400(1024Byte),Heap堆的大小为:0x200(512Byte)。 1、若工程中使用的局部变量较多,定义的数据长度较大时,若不调整栈的空间大小,则会导致程序出现栈溢出,程序运行结果与预期的不符或程序跑飞。这时我们就需要手动的调整栈的大小。 2、当工程中使用了malloc动态分配内存空间时,这时分配.......

zxm8513优快云博客 3万+

python鼠标碰撞_Python+opencv第5节鼠标响应事件,pythonopencv,第五节

#查看 cv2 有哪些被支持的事件import cv2import numpy as npdir_cv2 = dir((cv2))print(type(dir_cv2))print(len(dir_cv2))events = [i for i in dir(cv2) if 'EVENT' in i]print(len(events))print(events)'''18个事件['EVENT_FLA...

weixin_29453497的博客 167

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python+openCV鼠标事件

鼠标事件即包括:左键按下,左键松开,左键双击,鼠标移动等,主要需掌握函数cv2.setMouseCallback(windowName, onMouse [, param])及其对应的回调函数。下面一一进行介绍。 cv2.setMouseCallback(windowName, onMouse [, param]) windowName:鼠标事件执行的窗口 onMouse: 回调...

土豆 3821

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

OpenCV-Python——第4章:鼠标事件

1 鼠标回调函数 cv2.setMouseCallback(windowName, onMouse, param=None)  用于将鼠标事件与窗口联系起来 windowName:窗口名称 onMouse:鼠标响应函数 param:响应函数传递的的参数 2 鼠标响应函数 onMouse(event, x, y, flags, param) 用于设置鼠标事件 event:鼠标...

YukinoAI的博客 4931

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【OpenCV-Python】7.OpenCV的响应鼠标事件

7.OpenCV的响应鼠标事件 文章目录前言一、响应鼠标事件1、右键画矩形、左键画圆2、使用鼠标指针选点绘制多边形3、按住鼠标左键移动绘图,双击左键清除绘图总结 前言   OpenCV可在用户触发鼠标事件时,调用鼠标回调函数完成事件处理。 一、响应鼠标事件   鼠标回调函数的基本格式如下: def mouseCallback(event, x, y, flag, param):... mouseCallback为自定义函数名称 event为调用时传递给函数的鼠标事件对象 x和y为出发鼠标事件时

每天都在学习的小博主 2661

opencv-python:04_OpenCV处理鼠标响应事件

OpenCV处理鼠标响应事件 学习使用 OpenCV 处理鼠标响应事件 函数:cv2.setMouseCallback() 一、定义鼠标回调函数 格式都是统一的,不同的是调用后的功能 def mouse_callback(event,x,y,flags,param): 定义完成后需要注册该回调函数 cv2.setMouseCallback(windowName,mouse_callba...

余喵爱吃鱼的博客 959

python鼠标事件 详解_opencv3/python 鼠标响应操作详解

opencv3/python 鼠标响应操作详解发布时间:2020-10-02 13:53:01来源:脚本之家阅读:74作者:阿卡蒂奥鼠标回调函数:def setMouseCallback(windowName, #窗口名称onMouse, #鼠标响应处理函数param=None) #处理函数的IDevent鼠标事件:event:EVENT_LBUTTONDBLCLK = ...

weixin_35097989的博客 1024

python鼠标点击事件event_opencv-python教程学习系列5-处理鼠标事件

前言opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv-python处理鼠标事件,坚持学习,共同进步。系统环境系统:win_x64;python版本:python3.5.2;opencv版本:opencv3.3.1;内容安排1.知识点介绍;2.测试代码;具体内容1.知识点介绍;鼠标事件使用的包是cv2,函数主要是cv2.setMouseCa...

weixin_39669629的博客 2104

OpenCV鼠标事件

在OpenCV中,也存在鼠标的操作,比如左键单击、双击等。对于用户来讲,操作鼠标就是一个鼠标操作;对于OpenCV来讲,则认为是发生了一个鼠标事件,需要对这个鼠标数据进行处理,这就是事件的响应。现在我们来介绍一下鼠标中的操作事件。鼠标事件包括左键按下、左键松开、左键双击、鼠标移动等。当鼠标事件发生时,OpenCV会把让一个鼠标响应函数自动被调用,相当于一个回调函数,这个回调函数就是鼠标事件处理函数。

夏天又到了的专栏 764

Python OpenCV实现鼠标绘制矩形框和多边形

Python OpenCV实现鼠标绘制矩形框和多边形框,OpenCV支持鼠标事件操作,通过setMouseCallback函数来设置鼠标事件的回调函数

AI吃大瓜的博客 8665

【学习记录】OpenCV鼠标事件

本博客仅为学习记录之用,目的在于后续若需要相关的有资可查。如有错误,欢迎指出交流学习!本博客包含鼠标事件的应用: 鼠标事件的应用;图片动态局部放大;动态绘制矩形框用以放大;cv2多行文本的显示。以上就是本文的主要内容,主要是OpenCV鼠标事件的基本使用。

录求学之迹,留影于凡庸之日,若有益于君,更胜琼瑶。 2064

opencv控制鼠标事件

def mouse_callback(event, x, y, flags, userdata)格式固定。OpenCV允许我们对窗口上的鼠标动作做出响应.回调函数,就是执行以后会执行这个函数。函数名要和上面一样即可。

weixin_46098612的博客 2256

04-opencv-python-处理鼠标事件

创建鼠标时间回调函数,当鼠标事件发生的时候就会被执行。 所有的鼠标事件回调函数都有一个统一的格式,不同的地方是被调用后的功能。 根据opencv的官方文档,鼠标的事件有: 鼠标事件 注意注意!!!如下所示: MouseEvent Flags EVENT_FLAG_ALTKEY 摁住Alt 这里指的是 要是按住这些键,在图像中拖动鼠标就会留出痕迹 (连续的) EVENT_FLAG_CTRLKEY 摁住Ctrl EVENT_FLA

猪猪的博客 799

python结合opencv点击屏幕按钮_opencv3/python 鼠标响应操作详解

鼠标回调函数:def setMouseCallback(windowName, #窗口名称onMouse, #鼠标响应处理函数param=None) #处理函数的IDevent鼠标事件:event:EVENT_LBUTTONDBLCLK = 7 左键双击EVENT_LBUTTONDOWN = 1 左键点击EVENT_LBUTTONUP = 4 ...

weixin_39835321的博客 790
上一篇: python + opencv 第四节 绘图函数 绘制直线 绘制矩形
下一篇: pycharm 设置 python解释器
qiukapi
博客等级 码龄12年 51粉丝 93原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值