Python 为人脸识别问题创建数据库
我拍了一些照片,之后我想用它们来训练我的神经网络。当我检查照片是否正确拍摄时,我使用了cv2.imread,然后我在屏幕上显示了其中一张照片,出现了以下错误 -215:在函数“cv::imshow”中,断言大小.宽度>0和大小.高度>0失败 我已经检查了路径是否正确,并再次尝试,同样的错误 这是我用来拍照的代码:Python 为人脸识别问题创建数据库,python,opencv,Python,Opencv,我拍了一些照片,之后我想用它们来训练我的神经网络。当我检查照片是否正确拍摄时,我使用了cv2.imread,然后我在屏幕上显示了其中一张照片,出现了以下错误 -215:在函数“cv::imshow”中,断言大小.宽度>0和大小.高度>0失败 我已经检查了路径是否正确,并再次尝试,同样的错误 这是我用来拍照的代码: cam = cv2.VideoCapture(0) face_detector = cv2.CascadeClassifier('haarcascade_frontalfa
cam = cv2.VideoCapture(0)
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
face_left = cv2.CascadeClassifier('haarcascade_profileface.xml')
# For each person, enter one numeric face id
face_id = input('\n Enter your face id: ')
while(True):
ret, img = cam.read()
gray = img
faces = face_detector.detectMultiScale(gray, 1.3, 5)
face2 = face_left.detectMultiScale(gray, 1.3, 5)
gray = cv2.flip(gray, +1)
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x + w + 50, y + h + 50), (255, 0, 0), 2)
gray = gray[y:y + h, x:x + w]
count += 1
cropFace = gray.copy()
cv2.imwrite("D:/poze/photo0" + str(count) + ".jpg",cropFace)
k = cv2.waitKey(100) & 0xff
if k == 27:
break
elif count >= 450: # Capture 450 face pictures
break
当我试图显示图像时,我使用了以下代码:
import cv2
path="D:/poze/photo01.jpg"
show_img = cv2.imread(path)
cv2.imshow("img",show_img)
cv2.waitKey(0)
错误:-215:断言大小失败。宽度>0&&size.height>0表示无法读取您的图像。大小不大于0 您的图像路径是:
"path../photo0" + str(count) + ".jpg"
但是,您正在显示此文件:
"path../photo01"
因此,在显示图像时添加扩展名.jpg。我添加了扩展名,但仍然会出现相同的问题。请检查此文件夹路径中是否有fie。我已检查,文件已存在。请复制文件位置并粘贴到此处。path=/photo01.jpg。顺便说一句,分配给路径时不要使用括号。它变成了一个元组。它应该是一个字符串。请尝试使用双斜杠:path=D://poze//photo01.jpg您试图打开的照片的文件名是什么?它实际上是一个.jpg文件吗?你能在OpenCV之外的程序中打开它吗?是的,它是一个jpg文件,我可以在OpenCV之外打开