Я изменил простую программу, взятую из документации OpenCV.OpenCV: как рисовать непрерывно с помощью мыши?
Я просто хочу рисовать с помощью указателя мыши непрерывно. На данный момент мне удалось рисовать, но не в непрерывном режиме, если только я слишком медленно двигаю курсором мыши.
Код:
import cv2
import numpy as np
drawing=False # true if mouse is pressed
mode=True # if True, draw rectangle. Press 'm' to toggle to curve
# mouse callback function
def interactive_drawing(event,x,y,flags,param):
global ix,iy,drawing, mode
if event==cv2.EVENT_LBUTTONDOWN:
drawing=True
ix,iy=x,y
elif event==cv2.EVENT_MOUSEMOVE:
if drawing==True:
if mode==True:
cv2.circle(img,(x,y),1,(0,0,255),-1)
elif event==cv2.EVENT_LBUTTONUP:
drawing=False
if mode==True:
cv2.circle(img,(x,y),1,(0,0,255),-1)
img = np.zeros((512,512,3), np.uint8)
cv2.namedWindow('Window')
cv2.setMouseCallback('Window',interactive_drawing)
while(1):
cv2.imshow('Window',img)
k=cv2.waitKey(1)&0xFF
if k==27:
break
cv2.destroyAllWindows()
Надеюсь, этот скриншот объясняет мою проблему: маленькая линия выглядит непрерывной, потому что я должен был переместить курсор мыши слишком медленно. Чем длиннее линия, не является непрерывным, так как я должен был переместить курсор с нормальной скоростью:
я ожидаю, чтобы иметь возможность постоянно рисовать, как это:
Любой может показать, как решить эту проблему? Спасибо заранее.