You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 23:52:14