Python 我已经看了很多遍了,但是OpenCV中的detectMultiScale总是出现同样的错误
我不知道为什么会发生这种情况,因为在另一个完全相同的python文件中,同样的代码可以完美地工作Python 我已经看了很多遍了,但是OpenCV中的detectMultiScale总是出现同样的错误,python,opencv,Python,Opencv,我不知道为什么会发生这种情况,因为在另一个完全相同的python文件中,同样的代码可以完美地工作 import numpy as np import cv2 as cv faceCascade = cv.CascadeClassifier('Casscades/haarcascade_frontalface_default.xml') eyeCascade = cv.CascadeClassifier('Casscades/haarcascade_eye.xml') smileCascade
import numpy as np
import cv2 as cv
faceCascade = cv.CascadeClassifier('Casscades/haarcascade_frontalface_default.xml')
eyeCascade = cv.CascadeClassifier('Casscades/haarcascade_eye.xml')
smileCascade = cv.CascadeClassifier('Casscades/haarcascade_smile.xml')
cap = cv.VideoCapture(0)
while(True):
ret, frame = cap.read()
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(gray, scaleFactor=1.5, minNeighbors=5)
eyes = eyeCascade.detectMultiScale(gray, scaleFactor=1.5, minNeighbors=5)
smile = smileCascade.detectMultiScale(gray, scaleFactor=1.5, minNeighbors=5)
这与另一个文件中的代码完全相同,运行完全没有错误。错误很可能意味着您的级联分类器没有正确实例化。使用:
import numpy as np
import cv2 as cv
faceCascade = cv.CascadeClassifier('Casscades/haarcascade_frontalface_default.xml')
eyeCascade = cv.CascadeClassifier('Casscades/haarcascade_eye.xml')
smileCascade = cv.CascadeClassifier('Casscades/haarcascade_smile.xml')
cap = cv.VideoCapture(0)
while(True):
ret, frame = cap.read()
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(gray, scaleFactor=1.5, minNeighbors=5)
eyes = eyeCascade.detectMultiScale(gray, scaleFactor=1.5, minNeighbors=5)
smile = smileCascade.detectMultiScale(gray, scaleFactor=1.5, minNeighbors=5)
检查分类器是否正确实例化。如果返回true,则1-xml文件的路径不正确。
2-您的xml文件不正确
3-由于某种原因,无法加载xml文件 如果确定文件和路径正确,请尝试使用以下命令再次加载:
faceCascade.empty()
omfg thx,我的xml文件路径有一个输入错误:(
faceCascade.empty()
faceCascade.load('PATH_TO_XML')