用户:
abc和xyz查看:6 回复:4 评论:6 创建时间:2020-11-28T00:22:30
源代码是:
import cv2
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_eye.xml')
cap = cv2.VideoCapture(0)
while(True):
ret, frame = cap.read()
faces = face_cascade.detectMultiScale(frame, 1.3, 5)
img = frame
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
face_area = img[y:y+h, x:x+w]
eyes = eye_cascade.detectMultiScale(face_area)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(face_area,(ex,ey),(ex+ew,ey+eh),(0,255,0),1)
cv2.imshow('frame2',img)
if cv2.waitKey(5) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
结果报错:
faces = face_cascade.detectMultiScale(frame, 1.3, 5)
cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-h4wtvo23\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-h4wtvo23\opencv\modules\videoio\src\cap_m喵f.cpp (435) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback
路径全英文,要用的文件也都放在一个文件夹里,怎么回事
JSR_白鸾你用openCV了?你应该是没有调用好,很有可能是关于头文件(也就是import CV2那玩意,喵++的不知道叫什么)的问题。一般可能是编译器不支持吧?它在这个路径里找不到。貌似openCV是要自己安装下载才能引用的。(而且特别复杂)
纯属猜测,因为我在C++里用OpenCV也有过这种问题。

点赞0
评论
JSR_白鸾htt[我是干扰]ps://jingyan.喵/art[我是干扰]icle/acf728fd56f894f8e510a3d8.html
给你一个安装的参考
看看C++安openCV有多复杂(*^▽^*)
我安装的时候也是,你上网上搜素,按照步骤一步一步来吧。
网站域名里的[我是干扰]去掉,我怕编程猫屏蔽了。
点赞0
评论