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
- 마우스 스크롤 이벤트의 아랫 방향 또는 왼쪽 방향