鱼C论坛

 找回密码
 立即注册
查看: 813|回复: 9

人脸识别训练求助!!!!

[复制链接]
发表于 2023-2-25 22:53:02 | 显示全部楼层 |阅读模式
60鱼币
代码和问题在附件图片中,一直报这个找不到路径的错误。求求大佬帮忙看一下是为什么,要训练的图片命名都是数字

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-25 22:54:03 | 显示全部楼层
图片在这
求助.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-26 08:54:45 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-27 14:42:20 | 显示全部楼层
请放上你的源代码,放在[code][/code]里
你的图上代码不完整,不知道你写了啥;你既然发了求助帖,得把代码发上来,我们 debug 后才知道你想干吗、具体哪里报错,以及库的源代码等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-2 11:10:41 | 显示全部楼层
mxf下一级创建名字为1的文件夹,把图片放进去试试。
代码我没看太懂。file.startwith('.') 是什么意思,你的图片名是.开头的嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-3-2 14:18:00 | 显示全部楼层
[quote]歌者文明清理员 发表于 2023-2-27 14:42
请放上你的源代码,放在
  1. [/code]里
  2. 你的图上代码不完整,不知道你写了啥;你既然发了求助帖,得把代 ...[/quote]
  3. 不好意思,代码在这。我这个是照着书上的代码敲的。大概意思就是训练人脸识别收集数据的,图片数据都是放在一个文件夹下面命名方式是x.jig这种
  4. [code]import cv2, numpy, os

  5. labels, faces = [], []
  6. file = 'lbpcascade_frontalface_improved.xml'
  7. face_cascade = cv2.CascadeClassifier(file)
  8. face_recognizer = cv2.face.LBPHFaceRecognizer_create()

  9. def detect_face(image):
  10.     gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
  11.     faces = face_cascade.detectMultiScale(gray, 1.2, 5, minSize=(20, 20))
  12.     if (len(faces) == 0):
  13.         return None, None
  14.     (x, y, w, h) = faces[0]
  15.     return gray[y:y+w, x:x+h], faces[0]

  16. def read_face(face_id):
  17.     path = 'mxf' + str(face_id)
  18.     print('trainning:', face_id)
  19.     files = os.listdir(path)
  20.     for file in files:
  21.         if file.startswith('.'):
  22.             continue
  23.         image = cv2.imread(path + '/' + file)
  24.         face, rect = detect_face(image)
  25.         if face is not None:
  26.             face = cv2.resize(face, (512, 512))
  27.             labels.append(face_id)
  28.             faces.append(face)
  29.         break

  30. if __name__ == '__main__':
  31.     #读取人脸图像
  32.     read_face(1)
  33.     #read_face(2)
  34.     #训练人脸识别器
  35.     face_recognizer.train(faces, numpy.array(labels))
  36.     #保存人脸特征数据
  37.     face_recognizer.save('trainner.yml')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-3-2 14:18:55 | 显示全部楼层
曼查克 发表于 2023-3-2 11:10
mxf下一级创建名字为1的文件夹,把图片放进去试试。
代码我没看太懂。file.startwith('.') 是什么意思,你 ...

图片是1.jpg,2.jpg这种的。代码是我按照书上敲的很多我也不是很懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-3 13:57:30 | 显示全部楼层
Cardo梅 发表于 2023-3-2 14:18
图片是1.jpg,2.jpg这种的。代码是我按照书上敲的很多我也不是很懂

代码有问题的,不是一两句话的方法用错的事。
这也没几行代码,不懂的话可以一句句百度,理解起来也不难。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-3 19:27:41 | 显示全部楼层
Cardo梅 发表于 2023-3-2 14:18
不好意思,代码在这。我这个是照着书上的代码敲的。大概意思就是训练人脸识别收集数据的,图片数据都是放 ...


这报错信息不对啊,你在 read_face() 函数里加几行代码打印一下运行过程,因为错误很奇怪
照你的代码,错的是 os.listdir(path);可 path 应该是 mxf {参数},就是 mxf1
他为什么报“mxf/1”找不到呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-3 23:29:55 | 显示全部楼层
Cardo梅 发表于 2023-3-2 14:18
不好意思,代码在这。我这个是照着书上的代码敲的。大概意思就是训练人脸识别收集数据的,图片数据都是放 ...


  1. import cv2, numpy, os

  2. labels, faces = [], []
  3. file = 'lbpcascade_frontalface_improved.xml'
  4. face_cascade = cv2.CascadeClassifier(file)
  5. face_recognizer = cv2.face.LBPHFaceRecognizer_create()

  6. def detect_face(image):
  7.     gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
  8.     faces = face_cascade.detectMultiScale(gray, 1.2, 5, minSize=(20, 20))
  9.     if (len(faces) == 0):
  10.         return None, None
  11.     (x, y, w, h) = faces[0]
  12.     return gray[y:y+w, x:x+h], faces[0]

  13. def read_face(face_id):
  14.     path = '../mxf/' + str(face_id)                                        # 这个路径不对吧
  15.     print('trainning:', face_id)
  16.     files = os.listdir(path)
  17.     for file in files:
  18.         if file.startswith('.'):
  19.             continue
  20.         image = cv2.imread(path + '/' + file)
  21.         face, rect = detect_face(image)
  22.         if face is not None:
  23.             face = cv2.resize(face, (512, 512))
  24.             labels.append(face_id)
  25.             faces.append(face)
  26.         break

  27. if __name__ == '__main__':
  28.     #读取人脸图像
  29.     read_face(1)
  30.     #read_face(2)
  31.     #训练人脸识别器
  32.     face_recognizer.train(faces, numpy.array(labels))
  33.     #保存人脸特征数据
  34.     face_recognizer.save('trainner.yml')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 12:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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