이벤트 처리

BERT·2023년 4월 19일
0

Computer Vision

목록 보기
13/56

키보드 이벤트 처리

delay : 밀리초 단위 대기 시간 (delay \le 0이면 무한 대기)
반환값 : 눌린 키 값 (눌리지 않으면 -1)
화살표키, 함수키 등 특수키 이벤트 처리 수행 시 waitKeyEx() 사용

int waitKey(int delay = 0);

마우스 이벤트 처리

winname : 창 이름
onMouse : 마우스 콜백 함수 이름
userdata : 콜백 함수에 전달할 사용자 지정 데이터

int setMouseCallback(const String& winname,
					 MouseCallback onMouse,
                     void* userdata = 0);

콜백 함수

event : 마우스 이벤트 종류
x, y : 마우스 이벤트 발생 좌표
flags : 마우스 이벤트 플래그
userdata : setMouseCallback() 함수에서 지정한 사용자 지정 데이터

typedef void (*MouseCallback)(int event,
							  int x, int y,
                              int flags,
                              void* userdata);

트랙바 사용

영상 출력 창에 부착되어 프로그램 동작 중에 사용자가 지정된 범위 안의 값을 선택할 수 있는 GUI
trackbarname : 트랙바 이름
winname : 트랙바를 생성할 창 이름
value : 트랙바 위치 값을 받을 정수형 변수의 주소
count : 트랙바 최대 위치
onChange : 트랙바 위치가 변경될 때마다 호출되게 마들 콜백 함수 이름(함수의 포인터)
NULL로 지정 시 콜백 함수는 호출되지 않고 value로 지정한 변수 값만 갱신
userdata : 트랙바 콜백 함수에 전달할 사용자 데이터의 포인터
return : 정상 동작 시 1 실패 시 0

int createTrackbar(const String& trackbarname,
				   const String& winname,
                   int* value,
                   int count,
                   TrackbarCallback onChange = 0,
                   void* userdata = 0);

콜백 함수

typedef void (*TrackbarCallback)(int pos, void* userdata);

0개의 댓글