python 无法获取所需的掩码检测输出

sdnqo3pr  于 2022-12-25  发布在  Python
关注(0)|答案(1)|浏览(132)

我正在使用Python和Open-CV库的面罩检测的一个小项目工作,我已经写了一个正确的代码,但仍然在运行代码生成真实的输出其抛出了很多错误。下面是代码通过摄像头生成输出。请帮助我通过这个错误。

haar_data = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
capture = cv2.VideoCapture(1)
data = []
font = cv2.FONT_HERSHEY_COMPLEX
while True:
    flag, img = capture.read()
    if flag:
        faces = haar_data.detectMultiScale(img)
        for x,y,w,h in faces:
            cv2.rectangle(img,(x,y), (x+w, y+h), (255,0,255), 4)
            face = img[y:y+h, x:x+h, :]
            face = cv2.resize(face, (50,50))
            face = face.reshape(1,-1)
            pred = svm.predict(face)[0]
            n = names[int(pred)]
            cv2.putText(img, n, (x,y), font, 1, (244,250,250), 2)
            print(n)
        cv2.imshow('result',img)
        if cv2.waitKey(2) == 27:
            break
capture.release()
cv2.destroyAllWindows()

下面是它显示的错误,也是视频被卡住,而得到一个输出,我不得不关闭程序强制由于内核死亡。这个项目是在jupyter笔记本电脑。我甚至得到了91%的准确率得分,但无法得到输出。

NameError                                 Traceback (most recent call last)
<ipython-input-1-ad01d854464f> in <module>
----> 1 haar_data = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
      2 capture = cv2.VideoCapture(1)
      3 data = []
      4 font = cv2.FONT_HERSHEY_COMPLEX
      5 while True:

NameError: name 'cv2' is not defined
hlswsv35

hlswsv351#

是否确实导入了OpenCV库?

import cv2

相关问题