cv::CascadeClassifier::detectMultiScale 해결 방법
소개
OpenCV에서 얼굴 감지를 할 때 나온 에러와 해결 방법을 소개합니다.
문제
아래와 같은 코드로 에러가 나왔습니다.
파이썬# カスケード型識別器の読み込み
cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
# 顔領域の探索
face = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(30, 30))
에러 내용
cv2.error: OpenCV(3.4.2) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1698: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
원인
분류기의 XML 파일의 경로 지정이 잘못되어 있는 것 같습니다.
해결 방법
먼저 OpenCV가 들어있는 경로를 확인합니다.
파이썬user>python
Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 16:30:00) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>import cv2
>>>cv2.__file__
'C:\\Users\\user\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\cv2\\cv2.cp37-win_amd64.pyd'
다음으로 XML 파일의 위치를 조사합니다.
나의 경우는/data에 들어가 있었습니다.
그 때문에, 코드를 이하와 같이 수정했습니다.
파이썬# カスケード型識別器の読み込み
cascade = cv2.CascadeClassifier("C:/Users/user/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0/LocalCache/local-packages/Python37/site-packages/cv2/data/haarcascade_frontalface_default.xml")
# 顔領域の探索
face = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(30, 30))
결론
무사히 검지할 수 있었습니다.
참고
h tps:// 퀵했다. 작은 m/K_M95/있어 MS/f1 아 3 그림 7C47800 아 DB94095
Reference
이 문제에 관하여(cv::CascadeClassifier::detectMultiScale 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/isso_w/items/5292056e9933c14943c6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
아래와 같은 코드로 에러가 나왔습니다.
파이썬
# カスケード型識別器の読み込み
cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
# 顔領域の探索
face = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(30, 30))
에러 내용
cv2.error: OpenCV(3.4.2) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1698: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
원인
분류기의 XML 파일의 경로 지정이 잘못되어 있는 것 같습니다.
해결 방법
먼저 OpenCV가 들어있는 경로를 확인합니다.
파이썬user>python
Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 16:30:00) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>import cv2
>>>cv2.__file__
'C:\\Users\\user\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\cv2\\cv2.cp37-win_amd64.pyd'
다음으로 XML 파일의 위치를 조사합니다.
나의 경우는/data에 들어가 있었습니다.
그 때문에, 코드를 이하와 같이 수정했습니다.
파이썬# カスケード型識別器の読み込み
cascade = cv2.CascadeClassifier("C:/Users/user/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0/LocalCache/local-packages/Python37/site-packages/cv2/data/haarcascade_frontalface_default.xml")
# 顔領域の探索
face = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(30, 30))
결론
무사히 검지할 수 있었습니다.
참고
h tps:// 퀵했다. 작은 m/K_M95/있어 MS/f1 아 3 그림 7C47800 아 DB94095
Reference
이 문제에 관하여(cv::CascadeClassifier::detectMultiScale 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/isso_w/items/5292056e9933c14943c6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
먼저 OpenCV가 들어있는 경로를 확인합니다.
파이썬
user>python
Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 16:30:00) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>import cv2
>>>cv2.__file__
'C:\\Users\\user\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\cv2\\cv2.cp37-win_amd64.pyd'
다음으로 XML 파일의 위치를 조사합니다.
나의 경우는/data에 들어가 있었습니다.
그 때문에, 코드를 이하와 같이 수정했습니다.
파이썬
# カスケード型識別器の読み込み
cascade = cv2.CascadeClassifier("C:/Users/user/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0/LocalCache/local-packages/Python37/site-packages/cv2/data/haarcascade_frontalface_default.xml")
# 顔領域の探索
face = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(30, 30))
결론
무사히 검지할 수 있었습니다.
참고
h tps:// 퀵했다. 작은 m/K_M95/있어 MS/f1 아 3 그림 7C47800 아 DB94095
Reference
이 문제에 관하여(cv::CascadeClassifier::detectMultiScale 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/isso_w/items/5292056e9933c14943c6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
h tps:// 퀵했다. 작은 m/K_M95/있어 MS/f1 아 3 그림 7C47800 아 DB94095
Reference
이 문제에 관하여(cv::CascadeClassifier::detectMultiScale 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/isso_w/items/5292056e9933c14943c6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)