学习Opencv+Python之获取鼠标绘制图形
1、鼠标相应的相关操作
在Opencv中,将鼠标键位的点击操作称为“事件(event)”,常见的这些事件有:
EVENT_MOUSEMOVE 0 滑动
EVENT_LBUTTONDOWN 1 左键点击
EVENT_RBUTTONDOWN 2 右键点击
EVENT_MBUTTONDOWN 3 中键点击
EVENT_LBUTTONUP 4 左键放开
EVENT_RBUTTONUP 5 右键放开
EVENT_MBUTTONUP 6 中键放开
EVENT_LBUTTONDBLCLK 7 左键双击
EVENT_RBUTTONDBLCLK 8 右键双击
EVENT_MBUTTONDBLCLK 9 中键双击
将鼠标键位的拖拽以及键盘特殊案件的操作称为“标志(flags)”,常见的这些标志有:
EVENT_FLAG_LBUTTON 左键拖曳
EVENT_FLAG_RBUTTON 右键拖曳
EVENT_FLAG_MBUTTON 中键拖曳
EVENT_FLAG_CTRLKEY 按住Ctrl
EVENT_FLAG_SHIFTKEY 按住Shift
EVENT_FLAG_ALTKEY 按住Alt
2、回调函数
了解过鼠标事件之后,我们来看一下什么是回调函数即回头调用的函数,故应先设置函数,再调用它。
对于,回调函数格式一般固定,其参数为:
def func(event, x, y, flags, param):
......
- 参数1 事件 event
- 参数2 鼠标所处位置 (x, y)
- 参数3 标记 flages
- 参数4 自定义参数 param
3、示例1
###双击左键画圆###
###双击左键画圆###
import cv2 as cv
import numpy as np
# 设置函数,回调函数格式一般固定如下:
def draw_circle(event, x, y, flags,