yitouch 2022-05-14 21:16
浏览 87
已结题

想利用opencv实现人脸识别,然后在数据训练时遇到报错,卡了很久,求各位支个招

import os
import cv2
import cv2 as cv
from PIL import Image
import numpy as np

def getImageAndLabels(path):
faceSamples = []
ids = []
imagePaths = [os.path.join(path, f) for f in os.listdir(path)]
# print(imagePaths)
face_detector = cv2.CascadeClassifier('D:/opencv/sources/data/haarcascades/haarcascade_frontalface_alt2.xml')
for imagePath in imagePaths:
PIL_img = Image.open(imagePath).convert('L')
img_numpy = np.array(PIL_img, 'uint8')
faces = face_detector.detectMultiScale(img_numpy)
id = int(os.path.split(imagePath)[1].split('.')[0])
for x, y, w, h in faces:
ids.append(id)
faceSamples.append(img_numpy[y:y + h, x + w])
print('id', ids)
print('fs', faceSamples)
return faceSamples, ids

if name == 'main':
path = 'C:/Users/86183/PycharmProjects/pythonProject1/wode/'
faces,ids=getImageAndLabels(path)
recognizer=cv2.face.LBPHFaceRecognizer_create()
recognizer.train(faces,np.array(ids))
recognizer.write('D:/opencv/trainer.yml')
报错如下
Traceback (most recent call last):
File "C:\Users\86183\PycharmProjects\pythonProject1\09shujvxunlian.py", line 31, in
recognizer.train(faces,np.array(ids))
cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\core\src\matrix.cpp:250: error: (-215:Assertion failed) s >= 0 in function 'cv::setSize'

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月22日
    • 创建了问题 5月14日

    悬赏问题

    • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
    • ¥15 怎么让wx群机器人发送音乐
    • ¥15 fesafe材料库问题
    • ¥35 beats蓝牙耳机怎么查看日志
    • ¥15 Fluent齿轮搅油
    • ¥15 八爪鱼爬数据为什么自己停了
    • ¥15 交替优化波束形成和ris反射角使保密速率最大化
    • ¥15 树莓派与pix飞控通信
    • ¥15 自动转发微信群信息到另外一个微信群
    • ¥15 outlook无法配置成功