码迷,mamicode.com
首页 > 其他好文 > 详细

训练数据

时间:2020-05-21 14:38:24      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:图片   print   cad   imp   arc   tis   yml   source   保存文件   

 1 import os #遍历路径
 2 import cv2
 3 import sys
 4 import numpy as np
 5 from PIL import Image 
 6 def getImageAndLabels(path):
 7     facesSamples = [] 
 8     ids = []
 9     imagePaths = [os.path.join(path,f) for f in os.listdir(path)]
10     # print(imagePaths)
11     # ------>>>如:‘D:/百度云下载/train_data/data/jm\\10.pgm‘
12     # 检测人脸特征函数
13     face_detector = cv2.CascadeClassifier(
14         D:/Opencv/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml)
15     # 遍历列表中的图片
16     for imagePath in imagePaths:
17         # 打开图片
18         PIL_img = Image.open(imagePath).convert(L)
19         # 将整张图像转换为数组
20         img_numpy = np.array(PIL_img,uint8)
21         # print(img_numpy)
22         # 获取人脸
23         faces = face_detector.detectMultiScale(img_numpy)
24         # 获取每张图片的id
25         id = int(os.path.split(imagePath)[1].split(.)[0])
26         # print(os.path.split(imagePath))  
27         # --->(‘D:/百度云下载/train_data/data/jm‘, ‘1.pgm‘)
28         # 人脸区域提取
29         for x,y,w,h in faces:
30             # 获得图像数组
31             facesSamples.append(img_numpy[y:y+h,x:x+w])
32             # 获取标签数组
33             ids.append(id)    
34     return facesSamples,ids
35 
36 if __name__ == __main__:
37     # 图片的路径 
38     path = D:/百度云下载/train_data/data/jm
39     # 获取图像数组和id标签数组
40     faces,ids = getImageAndLabels(path)
41     # 获取循环对象
42     recognizer = cv2.face.LBPHFaceRecognizer_create()
43     recognizer.train(faces,np.array(ids))
44     # 保存文件
45     recognizer.write(D:/trainer/trainer.yml)
46     

技术图片

 

训练数据

标签:图片   print   cad   imp   arc   tis   yml   source   保存文件   

原文地址:https://www.cnblogs.com/monsterhy123/p/12930521.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!