文章目录
QQ:3020889729 小蔡
鼠标事件概述
opencv可以实现gui拥有的功能——所以,opencv中也包含了鼠标事件——通过点击等等事件,执行相应的回调函数,实现指定的功能,最终实现交互!!!
鼠标事件发生的结构
鼠标回调函数的标准格式
鼠标回调函数的构造:函数名任意——但是参数应依次包含:event(事件),x, y,flags(标志),param(其它参数)
补充一下:事件和标志都可以作为事件触发的条件!!!
import cv2 as cv
import numpy as np
def mouse_circle(event, x, y, flags, param):
if event == cv.EVENT_LBUTTONDOWN: # 该事件为鼠标左键按下
pass # 执行任务
opencv下包含的所有事件——包含flag和event(可以看一下,熟悉常见事件范围)
事件列表:
- if event == cv.EVENT_LBUTTONDBLCLK: # 触发事件为左键双击
- if event == cv.EVENT_LBUTTONDOWN: # 触发事件为左键按下时
- if event == cv.EVENT_LBUTTONUP: # 触发事件为左键弹起时
- if event == cv.EVENT_RBUTTONDBLCLK: # 触发事件为右键双击时
- if event == cv.EVENT_RBUTTONDOWN: # 触发事件为右键按下时
- if event == cv.EVENT_RBUTTONUP: # 触发事件为右键弹起时
- if event == cv.EVENT_MBUTTONDBLCLK: # 触发事件为中键滚轮双击时
- if event == cv.EVENT_MBUTTONDOWN: # 触发事件为中键滚轮按下时
- if event == cv.EVENT_MBUTTONUP: # 触发事件为中键滚轮弹起时
- if event == cv.EVENT_MOUSEWHEEL: # 触发事件为中键滚轮滚动时
- if event == cv.EVENT_MOUSEMOVE: # 触发事件为鼠标移动时
标志列表:
- if flags == cv.EVENT_FLAG_ALTKEY: # 触发标志为ALT键按下时
- if flags == cv.EVENT_FLAG_CTRLKEY: # 触发标志为CTRL键按下时
- if flags == cv.EVENT_FLAG_LBUTTON: # 触发标志为鼠标左键按下时
- if flags == cv.EVENT_FLAG_MBUTTON: # 触发标志为鼠标中键滚轮按下时<