python - 无法获得所需的掩码检测输出
问题描述
我正在使用 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 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 库吗?
import cv2
推荐阅读
- c++ - 如何清除控制台上的cin?
- c# - 如何将与数据库连接的组合框的第一行设置为空?
- list - UI 中 Video 和 Image 之间的 Flutter 逻辑决策
- react-native - 如何清除 react-native-webview 的本地存储?
- python - 使用方法 remove() 删除列表中的元素
- javascript - 将字符串转换为数字文字(javascript)
- android - Activity.onCreate() 中的 Android 应用上下文为空
- c# - Xamarin iOS 目标 c 绑定库无法创建该类型的本机实例
- excel - Sumifs使用excel公式对列求和
- c - 当它被认为是一个 int 时,为 scanf 读取字符