더북(TheBook)

HelloCV 예제 프로그램에서 마지막으로 사용한 OpenCV 함수는 waitKey()입니다. 이 함수는 사용자로부터 키보드 입력을 받는 용도로 사용됩니다. waitKey() 함수 원형은 다음과 같습니다.

int waitKey(int delay = 0);

delay

키 입력을 기다릴 시간(밀리초 단위). delay ≤ 0이면 무한히 기다립니다.

반환값

눌린 키 값. 지정한 시간 동안 키가 눌리지 않았으면 -1을 반환합니다.

 

waitKey() 함수는 delay에 해당하는 밀리초 시간 동안 키 입력을 기다립니다. 만약 지정한 delay 시간 동안 키 입력이 있으면 해당 키의 아스키 코드(ASCII code) 값을 반환합니다. 만약 지정한 시간 동안 키 입력이 없으면 waitKey() 함수는 -1을 반환합니다. 만약 delay 인자에 기본값으로 설정되어 있는 0이 전달되면 사용자가 키를 입력할 때까지 무한히 기다립니다.

사실 waitKey() 함수는 키 입력을 기다리는 것 외에 더 중요한 기능이 숨어 있습니다. 앞서 imshow() 함수가 영상을 화면에 나타내는 함수라고 설명했습니다만 실제로는 imshow() 함수만 사용해서는 영상이 화면에 나타나지 않습니다. imshow() 함수를 호출한 후 waitKey() 함수를 호출해야 화면 그리기 이벤트가 동작하여 영상이 화면에 정상적으로 출력됩니다. 그러므로 대부분의 OpenCV 소스 코드에서 imshow() 함수와 waitKey() 함수는 연속하여 호출하는 형태로 사용됩니다.

지금까지 OpenCV 예제 프로그램 작성 시에 자주 사용되는 주요 함수에 대해 설명했습니다. 남아 있는 많은 OpenCV 함수들은 앞으로 실제 예제에서 사용할 때 자세히 설명하겠습니다.

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