python人脸识别总结,基于python的人脸识别技术的实现

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: