K 개발자
이벤트 처리 본문
마우스 이벤트
- cv2.setMouseCallback(win_name, onMouse [, param]) : onMouse 함수를 등록
- win_name : 이벤트를 등록할 윈도 이름
- onMouse : 이벤트 처리를 위해 미리 선언해 놓은 콜백 함수
- param : 필요에 따라 onMouse 함수에 전달할 인자
- MouseCallback(event, x, y, flags, param) : 콜백 함수 선언부
- event : 마우스 이벤트 종류, cv2.EVENT_로 시작하는 상수(12가지)
- cv2.EVENT_MOUSEMOVE : 마우스 움직임
- cv2.EVENT_LBUTTONDOWN : 왼쪽 버튼 누름
- cv2.EVENT_RBUTTONDOWN : 오른쪽 버튼 누름
- cv2.EVENT_MBUTTONDOWN : 가운데 버튼 누름
- cv2.EVENT_LBUTTONUP : 왼쪽 버튼 뗌
- cv2.EVENT_RBUTTONUP : 오른쪽 버튼 뗌
- cv2.EVENT_MBUTTONUP : 가운데 버튼 뗌
- cv2.EVENT_LBUTTONDBCLK : 왼쪽 버튼 더블 클릭
- cv2.EVENT_RBUTTONDBCLK : 오른쪽 버튼 더블 클릭
- cv2.EVENT_MBUTTONDBCLK : 가운데 버튼 더블 클릭
- cv2.EVENT_MOUSEWHEEL : 휠 스크롤
- cv2.EVENT_MOUSEHWHEEL : 휠 가로 스크롤
- x, y : 마우스 좌표
- flags : 마우스 동작과 함께 일어난 상태, cv2.EVENT_FLAG_로 시작하는 상수(6가지)
- cv2.EVENT_FLAG_LBUTTON(1) : 왼쪽 버튼 누름
- cv2.EVENT_FLAG_RBUTTON(2) : 오른쪽 버튼 누름
- cv2.EVENT_FLAG_MBUTTON(4) : 가운데 버튼 누름
- cv2.EVENT_FLAG_CTRLKEY(8) : Ctrl 키 누름
- cv2.EVENT_FLAG_SHIFTKEY(16) : Shift 키 누름
- cv2.EVENT_FLAG_ALTKEY(32) : Alt 키 누름
- param : cv2.setMouseCallback() 함수에서 전달한 인자
- event : 마우스 이벤트 종류, cv2.EVENT_로 시작하는 상수(12가지)
트랙바
- cv2.createTrackbar(trackbar_name, win_name, value, count, onChange) : 트랙바 생성
- trackbar_name : 트랙바 이름
- win_name : 트랙바를 표시할 창 이름
- value : 트랙바 초기 값, 0~count 사이의 값
- count : 트랙바 눈금의 개수, 트랙바가 표시할 수 있는 최대 값
- onChange : TrackbarCallback, 트랙바 이벤트 핸들러 함수
- TrackbarCallback(value) : 트랙바 이벤트 콜백 함수
- value : 트랙바가 움직인 새 위치 값
- pos = cv2.getTrackbarPos(trackbar_name, win_name)
- trackbar_name : 찾고자 하는 트랙바 이름
- win_name : 트랙바가 있는 창의 이름
- pos : 트랙바 위치 값
Comments