码迷,mamicode.com
首页 > 其他好文 > 详细

OpenCV鼠标事件

时间:2020-01-14 16:30:59      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:event   mouse   图形   回调函数   enc   style   param   双击   wait   

 1 # Author:Winter Liu is coming!
 2 import cv2 as cv
 3 import numpy as np
 4 
 5 
 6 # 鼠标回调函数,当发生鼠标事件,调用此函数,传递5个参数
 7 def draw_demo(event, x, y, flags, params):
 8     # 左键、右键、左键双击
 9     # 对应圆、矩形、椭圆形
10     if event == cv.EVENT_FLAG_LBUTTON:
11         cv.circle(image, (x, y), 20, (0, 0, 255), -1)
12     elif event == cv.EVENT_FLAG_RBUTTON:
13         cv.rectangle(image, (x, y), (x+20, y+20), (0, 255, 0), 2)
14     elif event == cv.EVENT_LBUTTONDBLCLK:
15         cv.ellipse(image, (x, y), (50, 30), 45, 0, 360, (255, 0, 0), 2)
16 
17 
18 # 查看OpenCV中可识别事件
19 events = [i for i in dir(cv) if EVENT in i]
20 for e in events:
21     print(e)
22 # 使用numpy创建纯色图形,全白(全黑)
23 image = (np.ones((512, 512, 3), np.uint8))*255
24 # image = np.zeros((512, 512, 3), np.uint8)
25 cv.namedWindow("PIC")
26 # 设置鼠标回调
27 cv.setMouseCallback(PIC, draw_demo)
28 
29 while 1:
30     cv.imshow("PIC", image)
31     if cv.waitKey(20) == 27:
32         break
33 cv.destroyAllWindows()

OpenCV鼠标事件

标签:event   mouse   图形   回调函数   enc   style   param   双击   wait   

原文地址:https://www.cnblogs.com/nmucomputer/p/12192307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!