使用Python进行面部识别-600学习网

600学习网终身会员188,所有资源无秘无压缩-购买会员

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

人脸识别正成为软件开发的一个趋势。它有助于识别人脸,并使应用程序更加健壮。在本教程中,我们将使用Python和face_recognition库创建一个简单的人脸识别。

对于开发环境,我们将使用Visual Studio社区版。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

现在我们有了使用C++进行桌面开发的Visual Studio,我们可以开始我们的项目了。

使用Visual Studio打开新目录并创建新的python环境。我们将使用venv。打开集成终端并编写pythonmvenv-venv。然后输入venv/bin/activate.ps1激活环境。这是PowerShell的。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

现在我们已经完成了虚拟环境的创建,让我们开始提取依赖项。为此,我们需要opencv和face_recognition。在终端中使用pip

pip安装opencv-python人脸识别

人脸识别是一个使用最高级dlib库的库。我们已经准备好编写一些代码并识别一些人脸。

为了创建一个新的python文件,我们将调用文件missingPerson.py,假设我们将使用我们的应用程序来匹配丢失的人。导入我们的依赖项并编写前几行。

导入cv2

将numpy导入为np

导入人脸识别

导入操作系统

from face_recognition.api导入face_distance

假设我们所有的照片都存储在我们的服务器存储中,我们需要首先将所有人的图像放入我们的应用程序并读取它们。

路径=”失踪人员”

图像=〔〕

失踪人员=〔〕

missingPersonsList=os.listdir(路径)

对于missingPersonsList中的missingPerson:

curImg=cv2.imread(f’{path}/{missing Person}’)

images.append(curImg)

missingPersons.append(os.path.splitext(missingPerson)[0])

打印(缺少人员)

在本节中,我们将使用opencv读取所有失踪人员的图像,并将其附加到我们的失踪人员列表中。

在我们从存储器中读取所有丢失的面部图像后,我们需要找到面部代码,以便我们可以使用CNN面部检测器在图像中创建面部边界框的二维阵列。

def find编码(图像):

encodeList=〔〕

对于图像中的img:

img=cv2.cvt颜涩(img,cv2.COLOR_BGR2RGB)

encode=人脸识别。人脸编码(img)[0]

encodeList.append(编码)

打印(编码列表)

返回encodeList

encodeListKnown=findEncodings(图像)

打印(“编码完成”)

我们将二维数组存储在已知人脸代码列表中。这将需要几分钟。

现在我们已经掌握了所有失踪人员的面部代码,我们现在需要做的是将他们与记者的图像进行匹配。Face_rerecognition使用起来非常方便。

def findMissingPerson(encodeListKnown,reportedPerson=’found1.jpg’):

person=人脸识别加载图像文件(f’Reported Persons/{reported person})

person=cv2.cvtColor(person,cv2.COLOR_BGR2RGB)

尝试:

encodePerson=人脸识别。人脸编码(人)[0]

comparedFace=面部识别。比较面部(encodeListKnown,encodePerson)

faceDis=面部识别。面部距离(encodeListKnown,encodePerson)

匹配索引=np.argmin(面Dis)

如果comparedFace[matchIndex]:

name=失踪人员[matchIndex].upper()

打印(姓名)

返回名称

否则:

打印(“未找到”)

return False

除了IndexError为e:

打印(e)

返回e

首先,我们需要加载被报告人的图像文件并对他们的脸进行编码。剩下的是将报告的面部编码与已知的面部编码进行比较。然后,一个简单的逻辑匹配他们的索引,并返回该人是否在我们的失踪人员列表中找到。

这种人脸识别不仅用于寻找失踪人员。它可以检测和识别人脸,并且可以根据需要进行操作。

免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站,本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
600学习网 » 使用Python进行面部识别-600学习网