使用OpenCV和Python进行人脸识别(5)

(step--1)在第8行,我使用os.listdir方法读取存储在传递给函数的路径上的所有文件夹的名称作为参数。 在第10-13行,我定义了标签并面向矢量。

(step--2)之后,我遍历所有主题的文件夹名称以及第27行中每个主题的文件夹名称,我将提取标签信息。 由于文件夹名称遵循sLabel命名约定,所以从文件夹名称中删除字母将给我们分配给该主题的标签。

(step--3)在第34行,我读取了当前被摄体的所有图像名称,并且在第39-66行中我逐一浏览了这些图像。 在53-54行,我使用OpenCV的imshow(window_title,image)和OpenCV的waitKey(interval)方法来显示当前正在传播的图像。 waitKey(interval)方法将代码流暂停给定的时间间隔(毫秒),我以100ms的间隔使用它,以便我们可以查看100ms的图像窗口。 在第57行,我从当前正在遍历的图像中检测出脸部。

(step--4)在第62-66行,我将检测到的面和标签添加到它们各自的向量中。

  但是一个函数只能在需要准备的某些数据上调用它时才能做任何事情,对吗? 别担心,我有两张脸的数据。 我相信你至少会认出其中的一个!

使用OpenCV和Python进行人脸识别

让我们在这些美丽的名人的图像上调用这个函数来准备数据来训练我们的人脸识别器。 下面是一个简单的代码来做到这一点。

#让我们先准备好我们的训练数据 #数据将在两个相同大小的列表中 #一个列表将包含所有的面孔 #数据将在两个相同大小的列表中 print("Preparing data...") faces, labels = prepare_training_data("training-data") print("Data prepared") #打印总面和标签 print("Total faces: ", len(faces)) print("Total labels: ", len(labels))

 

Preparing data... Data prepared Total faces: 23 Total labels: 23

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2b40b8935044a95fe850af38d3b55ef9.html