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

问题描述

我正在使用 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,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,font,1,(244,250,250),2)
            print(n)
        cv2.imshow('result',img)
        if cv2.waitKey(2) == 27:
            break
capture.release()
cv2.destroyAllWindows() 

下面是它显示错误,并且视频在获得输出时卡住了,由于内核正在死亡,我不得不强行关闭程序。 这个项目是在 jupyter notebook 中完成的。我什至得到了 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

解决方法

您确定您导入了 OpenCV 库吗?

/test

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...