鱼C论坛

 找回密码
 立即注册
查看: 2066|回复: 1

大佬帮忙看看这个报错怎么改

[复制链接]
发表于 2022-4-8 23:26:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import os
  2. import cv2
  3. from PIL import Image
  4. import numpy as np

  5. def getImageAndLabels(path):
  6.     #储存人脸数据
  7.     facesSamples=[]
  8.     #储存姓名数据
  9.     ids=[]
  10.     #储存图片信息
  11.     imagePaths=[os.path.join(path,f)for f in os.listdir(path)]
  12.     #加载分类器
  13.     face_detector = cv2.CascadeClassifier('D:/OPENCV/opencv/sources/data/haarcascade/haarcascade_frontalface_alt2.xml')

  14.     #遍历列表中的图片
  15.     for imagePath in imagePaths:
  16.         #打开图片,灰度化 PIL有九种不同模式:1,L,P,RGB,RGBA,CMYK,YCbCR,I,F.
  17.         PIL_img=Image.open(imagePath).convert('L')
  18.         #将图像转换为数组,以黑白深浅
  19.         img_numpy=np.array(PIL_img,'uint8')
  20.         #获取图片人脸特征
  21.        [u] face = face_detector.detectMultiScale(img_numpy)[/u]              //报错原因Traceback (most recent call last):File "C:\Users\程\Desktop\opencv\9训练数据.py", line 39, in <module>faces,ids=getImageAndLabels(path)
  22.         #获取每张图片的id和姓名
  23.         id = int(os.path.split(imagePath)[1].split('.')[0])
  24.         #预防无面容照片
  25.         for x,y,w,h in faces:
  26.             ids.append(id)
  27.             facesSamples.append(img_numpy[y:y+h,x:x+w])
  28.         #打印脸部特征和id
  29.     print('id:',id)
  30.     print('fs:',facesSamples)
  31.     return facesSamples,ids

  32. if __name__ == '__main__':
  33.     #图片路径
  34.     path='D:/OPENCV/opencv/data/jm/'
  35.     #获取图像数组和ID标签数组和姓名
  36.    [u] faces,ids=getImageAndLabels(path)[/u]                                     //报错原因File "C:\Users\程\Desktop\opencv\9训练数据.py", line 23, in getImageAndLabels face = face_detector.detectMultiScale(img_numpy) cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
  37.     #加载识别器
  38.     recognizer=cv2.face.LBPHFfaceRecoginizer_create()
  39.     #训练
  40.     recognizer.train(faces,np.array(ids))
  41.     #保存
  42.     recognizer.write('D:/OPENCV/opencv/data/trainer/trainer.yml')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-8 23:29:13 | 显示全部楼层
pycharm因为这两个bug无法正常运行,大神帮帮看看,跪谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-29 07:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表