그런데 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를 반환할 경우에는 객체 검출을 수행할 수 없으므로 예외 처리 코드를 추가하는 것이 안전합니다.