더북(TheBook)

그런데 CascadeClassifier 클래스는 객체 생성과 동시에 XML 파일을 불러올 수 있는 생성자를 제공하기 때문에 앞에서 두 줄로 작성한 코드는 다음과 같이 한 줄로 바꿔 쓸 수 있습니다.

CascadeClassifier classifier("haarcascade_frontalface_default.xml");

참고로 앞 예제 코드에서 사용된 haarcascade_frontalface_default.xml 파일은 프로그램 실행 시 프로그램과 같은 폴더에 있어야 합니다.

XML 파일을 불러오는 코드를 수행한 후에는 XML 분류기 파일이 정상적으로 불러졌는지를 확인하는 것이 좋습니다. 이때 사용할 수 있는 함수가 CascadeClassifier::empty() 멤버 함수이며, 이 함수는 분류기 파일을 정상적으로 불러왔는지를 확인합니다.

bool CascadeClassifier::empty() const

반환값

분류기 파일을 정상적으로 불러왔으면 false, 그렇지 않으면 true를 반환합니다.

 

CascadeClassifier::empty() 함수가 true를 반환할 경우에는 객체 검출을 수행할 수 없으므로 예외 처리 코드를 추가하는 것이 안전합니다.

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