Cv2.setMouseCallback
마우스 콜백 설정
Example
Callback example
def mouse_event(event, x, y, flags, param):
global radius
if event == cv2.EVENT_FLAG_LBUTTON:
cv2.circle(param, (x, y), radius, (255, 0, 0), 2)
cv2.imshow("draw", src)
elif event == cv2.EVENT_MOUSEWHEEL:
if flags > 0:
radius += 1
elif radius > 1:
radius -= 1
-
event- 윈도우에서 발생하는 이벤트를 의미합니다. -
x,y- 는 마우스의 좌표를 의미합니다. -
flags- event와 함께 활용되는 역할로 특수한 상태를 확인하는 용도입니다. -
param- 마우스 콜백 설정 함수에서 함께 전달되는 사용자 정의 데이터를 의미합니다.
Events
-
EVENT_MOUSEMOVE- 마우스 포인터가 윈도우 위에서 움직일 때 -
EVENT_LBUTTONDOWN- 마우스 왼쪽 버튼을 누를 때 -
EVENT_MBUTTONDOWN- 마우스 가운데 버튼을 누를 때 -
EVENT_RBUTTONDOWN- 마우스 오른쪽 버튼을 누를 때 -
EVENT_LBUTTONUP- 마우스 왼쪽 버튼을 뗄 때 -
EVENT_MBUTTONUP- 마우스 가운데 버튼을 뗄 때 -
EVENT_RBUTTONUP- 마우스 오른쪽 버튼을 뗄 때 -
EVENT_LBUTTONDBLCLK- 마우스 왼쪽 버튼을 더블 클릭할 때 -
EVENT_MBUTTONDBLCLK- 마우스 가운데 버튼을 더블 클릭할 때 -
EVENT_RBUTTONDBLCLK- 마우스 오른쪽 버튼을 더블 클릭할 때 -
EVENT_MOUSEWHEEL- 마우스 상하 스크롤을 사용할 때 -
EVENT_MOUSEHWHEEL- 마우스 좌우 스크롤을 사용할 때
Flags
-
EVENT_FLAG_LBUTTON- 마우스 왼쪽 버튼이 눌러져 있음 -
EVENT_FLAG_MBUTTON- 마우스 가운데 버튼이 눌러져 있음 -
EVENT_FLAG_RBUTTON- 마우스 오른쪽 버튼이 눌러져 있음 -
EVENT_FLAG_CTRLKEY- 컨트롤(Ctrl) 키가 눌러져 있음 -
EVENT_FLAG_SHIFTKEY- 쉬프트(Shift) 키가 눌러져 있음 -
EVENT_FLAG_ALTKEY- 알트(Alt) 키가 눌러져 있음 -
flags > 0- 마우스 스크롤 이벤트의 윗 방향 또는 오른쪽 방향 -
flags < 0- 마우스 스크롤 이벤트의 아랫 방향 또는 왼쪽 방향