急!!!opencv-python做人脸模型建立,程序运行完毕,但是不会结束进程,为什么?

loading376 2020-04-11 11:01:15
急求大神指导,已经卡在这了好几天了
当前代码是是用python opencv3,进行人脸数据的训练,建立人脸模型。仿照教学视频中的代码,但是还是出现问题,程序运行完毕能生成训练模型但是所花费时间很长而且不会结束进程,一直在占用内存。

下面是源代码,以及相关截图

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

def getImageAndLabels(path):
facesSamples = []
ids = []
imagePaths = [os.path.join(path, f) for f in os.listdir(path)]
# 检测人脸
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.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
id = int(os.path.split(imagePath)[1].split('.')[0])
for x, y, w, h in faces:
facesSamples.append(img_numpy[y:y + h, x:x + w])
ids.append(id)
return facesSamples, ids


if __name__ == '__main__':
# 图片路径
path = 'jm'
# 获取图像数组和id标签数组
faces, ids = getImageAndLabels(path)
# 获取训练对象
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.train(faces, np.array(ids))
# 保存文件
recognizer.write('trainer.yml')
print('程序运行完毕')



以下是相关截图
运行结果截图

没有出现预想中的 Process finished with exit code 0

点击中短后截图

出现红色骷髅头

项目结构截图

trainer.yml是程序运行后生成的训练模型文件,说明程序应该是没有错的,但是对比于网上视频教程,生成该文件时花费时间比较长。

进程管理器截图


以下是python环境
python 3.6.1
numpy 1.18.2
opencv-contrib-python 4.2.0.34
opencv-python 4.2.0.34
Pillow 7.1.1

...全文
396 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyywxk 2021-06-15
  • 打赏
  • 举报
回复

终于发现是 opencv-contrib-python 版本的问题,可以参考https://blog.csdn.net/yyywxk/article/details/117926998

loading376 2021-03-31
  • 打赏
  • 举报
回复
引用 4 楼 qq_44186709 的回复:
楼主,问题解决了嘛?
没解决,实在搞不懂啥问题
qq_44186709 2021-03-28
  • 打赏
  • 举报
回复
楼主,问题解决了嘛?
  • 打赏
  • 举报
回复
请问如何解决的
loading376 2020-04-13
  • 打赏
  • 举报
回复
引用 1 楼 小风_ 的回复:
点调试,看下出了什么问题
我调试了,发现是调用检测器face_detector.detectMultiScale(img_numpy)之后,就会这样,代码执行完后不会结束进程
小风_ 2020-04-12
  • 打赏
  • 举报
回复
点调试,看下出了什么问题

37,736

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧