如何解决cv2:cv2Color
我正在尝试面部检测某人
import cv2
import sys
faceCascade = cv2.CascadeClassifier(r"haarcascade_frontalface_default.xml")
video_capture = cv2.VideoCapture(0)
while True:
ret,frame = video_capture.read()
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(
gray,scaleFactor=1.1,minNeighbors=5,minSize=(30,30),# cv2.CASCADE_SCALE_IMAGE
flags=cv2.CASCADE_SCALE_IMAGE
)
for (x,y,w,h) in faces:
cv2.rectangle(frame,(x,y),(x + w,y + h),(0,255,0),2)
cv2.imshow('Video',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video_capture.release()
cv2.destroyAllWindows()
但是每次我运行程序时,都会出现此错误:
cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-pz4stnv8\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
即使我显示隐藏的项目也无法到达用户,但“用户”中没有appveyor
文件夹。
解决方法
video_capture.read()
不能保证返回有效的帧。
ret
是True还是False,取决于是否成功读取了帧。您应在尝试进一步处理帧之前检查此值-例如通过添加:
if not ret:
continue
错误消息中的路径是用于构建OpenCV的计算机上源代码的路径,因此不一定是计算机上的真实路径。不用担心。
,谢谢,但是现在我遇到了这个错误:
cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build- zsozjuva\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
[ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-zsozjuva\opencv\modules\videoio\src\cap_msmf.cpp (435) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。