python鼠标碰撞_Python+opencv第5节鼠标响应事件,pythonopencv,第五节
#查看 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)}') #这里 输出
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()
python鼠标碰撞_Python+opencv第5节鼠标响应事件,pythonopencv,第五节相关推荐
- python监听键盘库_python监听、操作键盘鼠标库pynput详细教程|python基础教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ § 0.0.0 前言 监听.操作鼠标.键盘是实现自动化的捷径,比如我实现自动化签到用到了模拟键盘操作. p ...
- python数据挖掘视频_python+opencv实时视频目标检测
python+opencv实时视频目标检测 opencv环境 1.访问Python Extension Packages for Windows,下载python对应版本的opencv. 比如小编下载 ...
- python 视频播放 拖动_python + opencv鼠标拖动视频区域裁剪
# -*- coding: utf-8 -*- import sys import cv2 import numpyas np import time import sys # # from PyQt ...
- python鼠标绘图_python opencv入门 鼠标绘图(4)
目标: 学习如何操作鼠标事件 学习cv2.setMouseCallback()函数 简单样例: 首先创建一个鼠标的回调函数,当鼠标事件触发时,该函数执行. 鼠标事件有很多种,比如左键右键,双击等等,该 ...
- 简单的python画图代码_python opencv如何实现简易画图板 python opencv实现简易画图板代码...
python opencv如何实现简易画图板?本篇文章小编给大家分享一下python opencv实现简易画图板代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 代码如下 ...
- 如何用python画长方形_python opencv 画矩形跟老齐学Python之用Python计算
一提到计算机,当然现在更多人把她叫做电脑,这两个词都是指computer.不管什么,只要提到她,普遍都会想到她能够比较快地做加减乘除,甚至乘方开方等.乃至于,有的人在口语中区分不开计算机和计算器. 那 ...
- python皮同_Python OpenCV 图像的双线性插值算法,全网最细致的算法说明_橡皮擦,一个逗趣的互联网高级网虫-CSDN博客...
原文作者:梦想橡皮擦 原文标题:Python OpenCV 图像的双线性插值算法,全网最细致的算法说明 发布时间:2021-02-17 20:55:32 Python OpenCV 365 天学习计划 ...
- opencv python是什么_Python+OpenCV 十几行代码模仿世界名画
现在很多人都喜欢拍照(自拍).有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma.versa 等,可以把你的照片变成梵高.毕加索.蒙克等大师的风格. 这种功能 ...
- python图像边缘检测_python opencv实现图像边缘检测
本文利用python opencv进行图像的边缘检测,一般要经过如下几个步骤: 1.去噪 如cv2.GaussianBlur()等函数: 2.计算图像梯度 图像梯度表达的是各个像素点之间,像素值大小的 ...
最新文章
- 教程:6、打印文件和发送邮件
- 一体广告机实现思路,非常实用(二)
- Apache+PHP环境搭建
- MTV: Django眼中的MVC
- 8086加法指令ADD
- 命令行 java文本编辑工具 重载 内存区域 栈 堆
- Redis线程IO模型的秘密知多少
- Python中的偏函数和函数柯里化
- python调用数据库存储过程_python调用MySql存储过程
- VS错误之error LNK2019: 无法解析的外部符号
- pytorch-minst手写字符识别实战
- 巴塞尔协议中的计算公式_巴塞尔协议演变及计算方法简单解析
- Linux 实现OpenSSL 服务器端客户端通信
- 希望我能帮助你:关于软件开发的建议
- python游戏引擎3d_一个人独立开发 3D 游戏引擎可能吗?
- Firefox input 光标丢失
- xilinx license申请(host value ID查看方法)
- Pytorch中, torch.einsum详解。
- Azkaban搭建3.32.0
- 物联网、智慧城市、增强现实(AR)与虚拟现实(VR)、区块链技术、语音识别、人工智能、数字汇流是大数据未来应用的七大发展方向