百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

OpenCV+Python实现人脸识别(人脸检测opencv python)

off999 2024-10-20 08:09 43 浏览 0 评论

OpenCV是计算机视觉处理的库,它是用C/C++实现的,通过安装Python也可以进行使用。当然这个库不止是能实现人脸识别,还能识别其他的事物,具体的内容可以参考官方说明:http://opencv-python-tutroals.readthedocs.io/en/latest/index.html。本文我们将使用这个库来体验一下简单的人脸识别。

准备

在Python中可以先尝试使用pip指令进行简单的安装,打开PowerShell窗口输入pip install OpenCV。如果不成功需要下载.whl文件来安装,可以到这个网站(https://www.lfd.uci.edu/~gohlke/pythonlibs/)找到合适的版本下载:

因为我的Windows系统为64位,Python版本为3.6,所以选择倒数第三个。安装完成之后在控制台输入import cv2回车没有报错则说明正常安装完毕。使用OpenCV库需要安装numpy库,如没有则需先安装numpy库,如已经安装了numpy库还不能安装成功,则需更新numpy到最新版本。

除此之外,需要安装用于人脸识别的cascade文件,这个文件是一系列包含人脸识别数据的xml文件,详细的下载地址通过以下链接下载,这个链接也包含一些例子以及代码:https://codeload.github.com/shantnu/FaceDetect/zip/master

实现过程

在OpenCV安装好之后我们可以正式开始这个库的使用,这个库使用的基本思路是这样:引入cv2库->创建一个可以人脸识别的对象->读取照片并将照片进行处理以方便识别->调用对象的方法进行人脸识别->将结果输出显示。这就是整个人脸识别的过程,接下来实现,体会一下人脸识别的过程,并把我在实现过程中遇到的问题以及解决方法分享一下。

首先实现前两三个步骤:引入cv2库->创建一个可以人脸识别的对象->读取照片并将照片进行处理以方便识别,实现代码以及注释如下:

将照片的存放路径存储在变量image_path中,将人脸识别用到的cascade文件的存放路径存储在变量cascade_path中,需要注意的是照片的名称不能出现中文,否则会报错。

接下来就到了程序中的核心部分:调用对象的方法进行人脸识别,这里调用已经创建好的对象facecascade的detectMultiScale方法来检测物体,因为使用了检测人脸的cascade文件haarcascade_frontalface_default.xml来创建对象,所以本文检测的物体为人脸。

在https://codeload.github.com/shantnu/FaceDetect/zip/master给出的例子代码中,detectMultiScale的方法如下:

gray为我们灰度处理后的灰度照片;scaleFactor可以理解为距离补偿,人在拍照时距离镜头的远近会影响到识别效果;minNeighbors用来定义周围有多少个物体,minSize用来定义检测窗口的大小,其中scaleFactor、minNeighbors以及minSize是可以自己修改来纠正识别的效果。最后这个flags=cv2.cv.CV_HAAR_SCALE_IMAGE其实时有误的,可能是因为OpenCV更新到3.0之后的关系,运行之后会出现AttributeError: module 'cv2' has no attribute 'cv'错误,经过一番折腾之后终于在StackOverflow上找到解决方法:https://stackoverflow.com/questions/30013009/opencv-3-0-0-dev-python-bindings-not-working-properly/30013069#30013069,需要将flags置为0。所以者部分的代码如下:

可以再想一下,既然flags为0了,那我们直接删除行不行呢?经过运行证明也是可以的,具体的原因是什么,有兴趣的看官可以查询一下。这里我们只追求能正常运行即可。

在检测到有人脸之后,会返回一个列表,存储再变量detectfaces中,我们遍历这个列表,调用cv2模块的rectangle方法来进行处理,将人脸标注出来,最后展示处理后的图片效果:

实现效果

选取两张照片进行测试,实现效果如下:

照片大小调整

在检测的时候选取来几张比较大的照片,在运行的时候发现照片显示窗口只能显示一部分,不能缩小,经过一番折腾之后在以下链接找到解决方法:https://www.tutorialkart.com/opencv/python/opencv-python-resize-image/#Downscale,可以调整输出照片的大小,实现后的代码如下:

结束

以上就是图片人脸识别的体验,既然有了图片的人脸识别,就会有视频的识别,视频的识别可以拆分成一帧一帧的图片进行识别;除了人脸识别,还可以有其他物体的识别,车、人等。有兴趣的看官可以查读相关的资料,欢迎各位看官关注!

相关推荐

苹果强制恢复出厂设置(苹果强制恢复出厂设置密码忘记了)
  • 苹果强制恢复出厂设置(苹果强制恢复出厂设置密码忘记了)
  • 苹果强制恢复出厂设置(苹果强制恢复出厂设置密码忘记了)
  • 苹果强制恢复出厂设置(苹果强制恢复出厂设置密码忘记了)
  • 苹果强制恢复出厂设置(苹果强制恢复出厂设置密码忘记了)
win7补丁目录(windows补丁目录)
  • win7补丁目录(windows补丁目录)
  • win7补丁目录(windows补丁目录)
  • win7补丁目录(windows补丁目录)
  • win7补丁目录(windows补丁目录)
联想显示器售后服务电话(lenovo人工客服24小时)

联想显示器保修期限在1~2年之内,一,联想“三包”服务承诺联想按国家有关部门颁布的《微型计算机商品修理更换退货责任规定》(以下称“三包”规定)中的内容和范围,向用户提供“三包”服务。联想承担法定“...

xp系统界面(xp系统界面无图形选项)
  • xp系统界面(xp系统界面无图形选项)
  • xp系统界面(xp系统界面无图形选项)
  • xp系统界面(xp系统界面无图形选项)
  • xp系统界面(xp系统界面无图形选项)
ipad密码忘了怎么办最简单的方法

一般ipad开机密码忘了有以下这种方法可以试一下:操作步骤/方法 1.下载最新版的iTunes。2.通过数据线将ipad与电脑iTunes相连接。3.将ipad按住电源键关机。4.同时按住电...

戴尔官翻机官网(戴尔官翻机购买地址)

肯定可以购买啊,价格还便宜。如果是官翻机应该是可以的,不像市场上的私人翻新机,这个质量应该有保障的可以买的。就是官方翻新机,市场上是有的。具体进入渠道先不管。反正市面上是肯定有的。但是这类手机是享受苹...

手机系统在哪里找(手机系统需要更新吗)

设置方法如下:1、首先输入锁屏密码,进入桌面;2、打开【设置】进入系统设置中心,打开【应用市场】即可查找应用程序;3、进入设置中心的【更多设置】,找到【开发者选项】;4、打开【开启开发者选项...

电脑城装机系统在哪里下载(电脑城都用什么装系统)

其实所有系统基本都一致,装机版已经集成一些必要软件,有个别也许还做了优化,但相对而言,在安全性和兼容性上差一些。不是绝对的,因为装机版也分好多种。纯净版最好,系统干净,使用放心。一般的电脑维修店都能够...

win7右键没有个性化(win7系统右键没有个性化)
win7右键没有个性化(win7系统右键没有个性化)

如果电脑右键没有出现个性化和属性选项,可能是系统出现了错误或者个人设置问题。解决方法如下:首先检查计算机中是否安装有系统文件,如果文件丢失或被删除,则需要重新安装系统文件;其次,可以尝试恢复系统默认配置,去掉不必要的自定义设置;最后,如果上...

2025-12-25 08:03 off999

ie11官方下载(ie11官方免费下载)

1/9点击左下窗户小图标。2/9点击齿轮设置图标。3/9点击【应用】。4/9点击【应用和功能】。5/9点击【程序和功能】6/9点击【启动或关闭windows功能】。7/9ie11没有勾选。8/9点击勾...

东芝笔记本怎么进入bios(东芝笔记本怎么进入语言界面)

以下是一些通用的方法:1.重启或开机时,按下F2键进入BIOS设置界面。在某些笔记本上,您需要按住Fn键才能按F2键。2.重启或开机时,同时按下Ctrl+Alt+Del键,然后立即按F2键...

window10家庭版下载(window10家庭版下载地址)

家庭版用户可通过以下步骤下载AutoCAD2020:访问Autodesk官方网站(autodesk.com)并创建或登录您的Autodesk帐户。导航到AutoCAD2020...

超级吞噬系统txt(超级吞噬系统txt完整版下载)

男主从未推倒柳儿,一直把柳儿当妹妹,出去历练升级从未带着她,后面男主把她安置好后,作者就再没写过她。两人一直分开。吞噬星空的九大超级势力有六大巅峰种族,人族,虫族,机械族,妖族,晶族,狱族,还有另外三...

dos如何格式化硬盘并分区(怎么在dos下格式化分区工具)

1、方式一:在“开始”搜索框汇总输入“cmd”并回车,2、方式二:单击“开始”——所有程序——附件——命令提示符,3、查看分区数:在DOS界面下输入“wmicdiskdrivegetpartit...

vivo系统升级最新版本(vivo系统升级到什么版本了)

您可以按照以下步骤来更新vivoY5s的操作系统:1.进入设置-系统更新。2.点击“检查更新”,确保您的手机已经连接上WiFi并检测到有可用的更新。3.如果有可用的更新,请按照提示下载并安...

取消回复欢迎 发表评论: