더북(TheBook)

OpenCV에서 트랙바를 생성하려면 createTrackbar() 함수를 사용하며, 이 함수의 원형은 다음과 같습니다.

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

trackbarname

트랙바 이름

winname

트랙바를 생성할 창 이름

value

트랙바 위치를 받을 정수형 변수의 주소

count

트랙바 최대 위치

onChange

트랙바 위치가 변경될 때마다 호출되게 만들 콜백 함수 이름(함수의 포인터) 만약 NULL을 지정하면 콜백 함수는 호출되지 않고 value로 지정한 변수 값만 갱신됩니다.

userdata

트랙바 콜백 함수에 전달할 사용자 데이터의 포인터

반환값

정상 동작하면 1을, 실패하면 0을 반환합니다.

 

createTrackbar() 함수는 winname 이름의 창에 trackbarname 이름의 트랙바를 부착하고, 트랙바가 움직일 때마다 onChange에 해당하는 트랙바 콜백 함수가 호출되도록 설정합니다. 생성된 트랙바의 최소 위치는 항상 0으로 설정되고, 최대 위치는 네 번째 인자인 count 값으로 지정합니다. 정수형 변수를 하나 만들고 그 변수의 주소를 value 인자로 설정하면, 트랙바 위치가 해당 변수에 자동으로 저장됩니다. 사용자가 트랙바 콜백 함수에 전달하고 싶은 데이터가 있다면 userdata 인자를 통해 void* 형식으로 전달할 수 있습니다. 만약 콜백 함수에 전달할 사용자 데이터가 없다면 userdata 인자는 지정하지 않아도 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.