python人脸识别总结,基于python的人脸识别技术的实现
人脸识别正在成为软件开发的一种趋势。它有助于识别人脸,并使应用程序更加健壮。本文将利用python和face_recognition库创建一个简单的人脸识别,大家可以参考一下。
人脸识别正在成为软件开发的一种趋势。它有助于识别人脸,并使应用程序更加健壮。在本教程中,我们将使用python和face_recognition库来创建一个简单的人脸识别。
对于开发环境,我们将使用Visual Studio社区版。
如果你还没有在你的电脑上安装它,你可以从这里下载。并使用C安装桌面开发。
现在我们有了使用C进行桌面开发的Visual Studio,我们可以开始我们的项目了。
使用Visual Studio打开一个新目录并创建一个新的python环境。我们将使用venv。打开你的集成终端,写python -m venv venv。然后通过键入venv/bin/activate.ps1来激活环境,这是针对PowerShell的。
如果您使用任何其他终端,您可以在这里找到完整的列表。
现在我们已经完成了虚拟环境的创建,让我们开始提取我们的依赖项。为此,我们需要opencv和face_recognition。在您的终端中使用pip。
pip安装opencv-python人脸识别
人脸识别是一个库,使用最先进的dlib库。我们准备写一些代码,识别一些面孔。
创建一个新的python文件,我们将该文件命名为missingPerson.py,假设我们将使用我们的应用程序来匹配失踪人口。导入我们的依赖项并编写我们的前几行。
导入cv2
将numpy作为np导入
导入人脸识别
导入操作系统
从face_recognition.api导入face_distance
假设我们所有的照片都存储在我们的服务器存储中,我们需要首先将所有人的图像拉入我们的应用程序并读取它们。
path=MissingPersons
图像=[]
missingPersons=[]
missingPersonsList=os.listdir(路径)
失踪人员名单:中的失踪人员
curImg=cv2 . im read(f“{ path }/{ missing person }”)
images.append(curImg)
missing persons . append(OS . path . split ext(missing person)[0])
打印(失踪人员)
在本节中,我们将使用opencv读取所有失踪人员的图像,并将它们附加到我们的失踪人员列表中。
在我们从存储器中读取所有丢失的人脸图像后,我们需要找到人脸代码,这样我们就可以使用CNN人脸检测器在图像中创建人脸边界框的二维数组。
def findEncodings(图像):
encodeList=[]
对于图像:中的img
img=cv2.cvtColor(img,cv2。COLOR_BGR2RGB)
encode=face _ recognition . face _ encodings(img)[0]
encodeList.append(编码)
打印(编码列表)
返回编码列表
encodeListKnown=find encodings(images)
打印(“编码完成”)
我们将二维数组存储到已知人脸代码列表中。这需要几分钟时间。
现在我们有了所有失踪人员的面部代码,我们现在要做的就是把它们和我们记者的图像进行匹配。人脸识别使用起来非常方便。
def findMissingPerson(encodeListKnown,reported person= found 1 . jpg ):
person=face _ recognition . load _ image _ file(f reported persons/{ reported person }])
person=cv2.cvtColor(person,cv2。COLOR_BGR2RGB)
尝试:
encodePerson=face _ recognition . face _ encodings(person)[0]
compare face=face _ recognition.compare _ faces(encodeListKnown,encodePerson)
face dis=face _ recognition . face _ distance(encodeListKnown,encodePerson)
matchIndex=np.argmin(faceDis)
if compared face[match index]:
name=missing persons[match index]。上部()
打印(姓名)
返回名称
else:
打印(“未找到”)
返回False
除了作为e:的IndexError
打印(e)
返回e
首先,我们需要加载演讲者的图像文件,并对他们的脸进行编码。剩下的就是将上报的面码和已知的面码进行对比。然后一个简单的逻辑匹配他们的索引,并返回这个人是否在我们的missingPersons列表中。
这种人脸识别不仅用于寻找失踪人员。它可以检测和识别人脸,并可以根据需要进行操作。
关于用Python进行面部识别的详细方法,本文到此结束。有关Python面部识别的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。