编程语言
首页 > 编程语言> > 使用Python从图像创建数据集以进行人脸识别

使用Python从图像创建数据集以进行人脸识别

作者:互联网

我正在尝试用Python编写人脸识别程序(我将应用k-nn算法进行分类).

首先,我将图像转换为灰度,然后创建了一个长列向量(通过使用Opencv的imagedata函数),该向量具有图像的像素(总共128×128 = 16384个特征)

因此,我得到了如下数据集(最后一列是类标签,我只显示了数据集的前7个特征,而不是16384).

176, 176, 175, 175, 177, 173, 178, 1 
162, 161, 167, 162, 167, 166, 166, 2

但是,当我将k-nn应用于此数据集时,会得到尴尬的结果.我是否需要对该数据集应用其他过程,而不仅仅是将图像转换为像素表示?

谢谢.

解决方法:

如果您希望它运作良好,是的,您需要进行功能转换.

PCA或LDA运作良好. PCA将获取输入向量的集合(在这种情况下为您的矢量化图像),并找到跨越输入集合的特征面.然后,在测试过程中,将输入向量(即图像)投影到这组特征脸上,然后将所得坐标向量用作特征向量.有关更多信息,请参见[Turk and Pentland, 1991].

我在PIE database上使用此基本PCA方法进行的个人实验成功.

标签:image-recognition,knn,opencv,computer-vision,python
来源: https://codeday.me/bug/20191209/2095563.html