>  기사  >  백엔드 개발  >  ## OpenCV에서 얼굴을 감지할 때 왜\'error: (-215) !empty() in function detectorMultiScale\'이 발생합니까?

## OpenCV에서 얼굴을 감지할 때 왜\'error: (-215) !empty() in function detectorMultiScale\'이 발생합니까?

DDD
DDD원래의
2024-10-25 02:42:29906검색

## Why Am I Getting

오류 해결: OpenCV의 얼굴 감지에서 "오류: (-215) !empty() 함수 detectorMultiScale"

OpenCV에서 다음과 같은 경우 cv2.CascadeClassifier.DetectMultiScale() 메서드를 사용하여 얼굴 감지를 수행하려고 시도할 때 "error: (-215) !empty() in function detectorMultiScale"과 같은 오류 메시지가 나타나는 것은 드문 일이 아닙니다. 이 오류는 일반적으로 얼굴 계단식 분류기 xml 파일이 로드되거나 참조되는 방식에 문제가 있음을 나타냅니다.

이 문제를 해결하려면 xml 파일 경로가 올바르게 지정되었는지 확인하는 것이 중요합니다. 제공된 원본 코드에서:

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')

OpenCV 디렉터리 내 xml 파일의 특정 위치는 명시적으로 정의되지 않습니다. 결과적으로 OpenCV는 이러한 파일을 찾고 로드하는 데 어려움을 겪을 수 있습니다.

이 문제에 대한 권장 해결 방법은 cv2.data.haarcascades 속성을 활용하여 필요한 xml 파일을 자동으로 찾고 로드하는 것입니다. 다음과 같이 코드를 업데이트하면:

face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')

OpenCV는 haarcascades 폴더 내의 기본 위치에서 xml 파일을 자동으로 검색합니다. 이 접근 방식을 사용하면 특정 경로를 하드코딩할 필요 없이 올바른 파일이 로드되어 문제가 해결되고 성공적인 얼굴 감지가 가능해집니다.

위 내용은 ## OpenCV에서 얼굴을 감지할 때 왜\'error: (-215) !empty() in function detectorMultiScale\'이 발생합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.