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()
는 희망이 스크린 샷은 내 문제를 설명합니다 : 나는 너무 느리게 마우스 커서를 이동했기 때문에 작은 선이 연속 보인다.
내가 이런 식으로 계속 그릴 수 있기를 기대 : 나는 정상적인 속도로 커서를 이동했기 때문에 더 이상 라인은 연속적이지
어느 하나 이 문제를 해결하는 방법을 보여줄 수 있습니까? 미리 감사드립니다.