Mac触控板使用OpenCV(Python)的EVENT_MOUSEMOVE时卡顿求助
Mac上OpenCV绘图应用鼠标与触控板表现差异问题
我在Mac上使用OpenCV开发了一款简易绘图应用,核心逻辑是:通过EVENT_LBUTTONDOWN将drawing变量设为True,在EVENT_MOUSEMOVE触发时沿光标路径绘制圆点,EVENT_LBUTTONUP时将drawing设为False。
使用鼠标操作时功能完全正常,但切换到触控板时,EVENT_MOUSEMOVE的回调出现卡顿,绘制的路径断断续续。相关代码如下:
import numpy as np import cv2 as cv drawing = False # 鼠标回调函数 def draw_circle(event,x,y,flags,param): global drawing if event == cv.EVENT_LBUTTONDOWN: drawing = True elif event == cv.EVENT_MOUSEMOVE: if drawing == True: cv.circle(img,(x,y),5,(0,0,255),-1) elif event == cv.EVENT_LBUTTONUP: drawing = False img = np.zeros((512,512,3), np.uint8) cv.namedWindow('image') cv.setMouseCallback('image',draw_circle, img) while(1): cv.imshow('image',img) k = cv.waitKey(1) & 0xFF if k == 27: break cv.destroyAllWindows()
我已在鼠标、触控板两种硬件上测试同一代码,仅鼠标表现符合预期:
- 触控板效果:绘制的圆点间隔大,路径不连贯
- 鼠标效果:绘制的圆点连续,路径流畅
内容的提问来源于stack exchange,提问作者Jedward
相关产品推荐
相关产品推荐

