opencv3/python 鼠标响应操作详解

作者:阿卡蒂奥 时间:2022-10-11 09:29:52 

鼠标回调函数:


def setMouseCallback(
windowName,     #窗口名称
onMouse,      #鼠标响应处理函数
param=None)     #处理函数的ID

event鼠标事件:


event:
EVENT_LBUTTONDBLCLK = 7     左键双击
EVENT_LBUTTONDOWN = 1      左键点击
EVENT_LBUTTONUP = 4       左键释放
EVENT_MBUTTONDBLCLK = 9     中间释放
EVENT_MBUTTONDOWN = 3      中间点击
EVENT_MBUTTONUP = 6       中间释放
EVENT_MOUSEHWHEEL = 11     滚轮事件
EVENT_MOUSEMOVE = 0       滑动
EVENT_MOUSEWHEEL = 10      滚轮事件
EVENT_RBUTTONDBLCLK = 8     右键双击
EVENT_RBUTTONDOWN = 2      右键点击
EVENT_RBUTTONUP = 5       右键释放

flags:
EVENT_FLAG_ALTKEY = 32     按Alt不放事件
EVENT_FLAG_CTRLKEY = 8     按Ctrl不放事件
EVENT_FLAG_LBUTTON = 1     左键拖拽
EVENT_FLAG_MBUTTON = 4     中键拖拽
EVENT_FLAG_RBUTTON = 2     右键拖拽
EVENT_FLAG_SHIFTKEY = 16    按Shift不放事件

示例

在图像上用鼠标点击左键拖拽画一矩形,并输出矩形信息:


import cv2
def draw_rectangle(event,x,y,flags,param):
 global ix, iy
 if event==cv2.EVENT_LBUTTONDOWN:
   ix, iy = x, y
   print("point1:=", x, y)
 elif event==cv2.EVENT_LBUTTONUP:
   print("point2:=", x, y)
   print("width=",x-ix)
   print("height=", y - iy)
   cv2.rectangle(img, (ix, iy), (x, y), (0, 255, 0), 2)

img = cv2.imread("max.png") #加载图片
cv2.namedWindow('image')
cv2.setMouseCallback('image', draw_rectangle)
while(1):
 cv2.imshow('image', img)
 if cv2.waitKey(20) & 0xFF == 27:
   break
cv2.destroyAllWindows()

输出:


point1:= 254 64
point2:= 708 569
width= 454
height= 505

opencv3/python 鼠标响应操作详解

来源:https://blog.csdn.net/akadiao/article/details/80312254

标签:opencv3,python,鼠标响应
0
投稿

猜你喜欢

  • 关于python 的legend图例,参数使用说明

    2022-07-21 10:10:13
  • jRaiser与jQuery的冲突问题

    2010-07-27 12:36:00
  • PyQt5创建一个新窗口的实例

    2021-12-31 02:49:44
  • pyhon如何把程序打包为whl

    2023-06-16 11:30:48
  • 对DJango视图(views)和模版(templates)的使用详解

    2021-05-30 00:37:51
  • OpenCV-Python模板匹配人眼的实例

    2022-10-22 06:09:23
  • 纯CSS Tooltips提示

    2008-10-18 16:01:00
  • django执行原生SQL查询的实现

    2023-11-11 13:34:04
  • 详解python日期时间处理2

    2021-05-20 19:27:15
  • Python实现学生成绩管理系统

    2023-08-13 09:51:17
  • Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)

    2022-10-16 00:45:24
  • 类型转换的小乐趣

    2010-11-30 21:37:00
  • 客户认同的就是好商品

    2009-08-31 16:41:00
  • 从if else到switch case再到抽象

    2010-11-05 18:30:00
  • python基于pygame实现飞机大作战小游戏

    2021-04-27 07:59:17
  • Go Gin实现文件上传下载的示例代码

    2023-06-21 15:11:13
  • Python标准库之time库的使用教程详解

    2023-07-25 05:25:57
  • 基于PHP实现解密或加密Cloudflar邮箱保护

    2023-07-22 13:22:37
  • 查看已安装tensorflow版本的方法示例

    2021-09-21 03:49:11
  • Python竟能画这么漂亮的花,帅呆了(代码分享)

    2021-02-04 15:50:00
  • asp之家 网络编程 m.aspxhome.com