使用OpenCV简单实现人脸识别
简介
OpenCV是一个非常强大的计算机视觉库,现有的一系列特征检测和特征匹配算法,有很大一部分都已经在OpenCV的库中得以实现,故此我们只需调用OpenCV库中函数即可简单实现人脸识别。
开发环境
版本:Python 3.6
编辑器:PyCharm
OpenCV、NumPy 等库
图像读取与灰度化处理
生活中常用的是RGB格式的彩色图片,我们可以使用OpenCV库中的 cv2.imread( ) 函数进行图像的读取,并且此方式读取的图片为numpy.ndarray格式。
import cv2 as cv# 静态图像读取
img = cv.imread("picture/lena.png")
# 显示读取的图像
cv.imshow("Image",img)
# 窗口等待时间,设置为则一直等待
cv.waitkey(0)
效果图如下:
视频流图像的读取同样可以使用OpenCV库中的 VideoCapture( ) 函数实现。创建一个 cap 接口用来接收视频流的信息,它可以是一段视频,也可以是一个摄像头实时捕捉的画面。
import cv2 as cv# 视频流图像读取
cap = cv.VideoCapture("I:/touch/001.flv")
# 摄像头捕捉
# cap = cv.VideoCapture(0)
# “0”为默认摄像头,若有多个可改变其编号使用不同的摄像头# 建立循环,以持续输出
while True:# 读取视频中的关键帧# 其中flag参数是一个布尔值,若读取帧正常则值为“True”;img参数即是当前帧所显示的图像信息flag,img = cap.read()if not flag:print("error")breakcv.imshow("Video",img)# 当按键 ' '(空格)触发时退出if cv.waitkey(1) & 0xff == ord(' '):break
# 释放该接口
cap.release()
效果图如下:
如果想要提取的特征与颜色无关,那么就可将先进行灰度化处理,因为这样能够使图像的结构变得更加简单同时也不会失去主要特征信息,这样可以在很大程度上减少计算量,此外灰度处理还可以提高图像的对比度。
研究表明,人眼对RGB颜色的敏感度是不同的,其中对绿色最敏感,权值较高,对蓝色最不敏感,权值较低。故灰度化操作的具体公式如下:
import cv2 as cvimg = cv.imread("picture/lena.png")
imgGray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
cv.imshow("Image",img)
cv/imshow("Gray Image",imgGray)
cv.waitkey(0)
效果图如下:
人脸检测
人脸识别
总结
写文章比我想象中麻烦,还没的写后面再慢慢补~
我也是初学,欢迎大家与我讨论
使用OpenCV简单实现人脸识别相关推荐
- OpenCV 简单的人脸识别
OpenCV中自带已训练好的检测器,包括面部,眼睛,猫脸等,都保存在XML文件中,我们可以通过以下程序找到他们: import cv2 as cv print(cv.__file__) 找到的文件如下 ...
- 史上最简单的人脸识别项目登上GitHub趋势榜
来源 | GitHub Trending整理 | Freesia译者 | TommyZihao出品 | AI科技大本营(ID: rgznai100) 导读:近日,一个名为 face_recogniti ...
- 用Python实现简单的人脸识别,10分钟(附源码)
前言 今天,我们用Python实现简单的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的.这里介绍的是准确 ...
- 用Python几行代码实现简单的人脸识别,10分钟完成(附源码)
前言 今天,我们用Python实现简单的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的.这里介绍的是准确 ...
- 10分钟手把手教你运用Python实现简单的人脸识别
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 前言:让我的电脑认识我 我的电脑只有认识我,才配称之为我的电脑! 今天,我们用Python实现高大上的人脸识别技术! Python里,简单的 ...
- python人脸识别opencv_手把手教你如何用 OpenCV + Python 实现人脸识别
必备知识 Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深, ...
- 使用openCV进行视频人脸识别
视频人脸识别系列 第一篇 使用openCV进行视频人脸识别 第二篇 使用虹软SDK进行视频人脸识别 第三篇 使用虹软SDK进行视频人脸比对 文章目录 视频人脸识别系列 前言 一.环境搭建 开发环境 配 ...
- Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储
原 Python+OpenCv实现AI人脸识别身份认证系统(2)--人脸数据采集.存储 2019年07月02日 08:47:52 不脱发的程序猿 阅读数 602更多 所属专栏: 人脸识别身份认证系统设 ...
- python人脸识别解锁电脑_给你的电脑做个简单的“人脸识别认证”
原标题:给你的电脑做个简单的"人脸识别认证" Simple "Face ID" for your PC 作者 | German Gensetskiy 翻译 | ...
最新文章
- nature | 基于深度学习方法的虚拟组织染色
- SAP咨询顾问被客户投诉的几个原因
- Install 802.1x In Fedora
- html内容显示重叠了,HTML:将DIV内容并排放置而不重叠
- VB 6.0中的数据连接模块
- 回归素材(part8)--python机器学习算法
- BIO、NIO 和 AIO
- [BZOJ 3173] [TJOI 2013] 最长上升子序列(splay)
- 前端学习(1360) :学生档案信息管理2
- 小贝拉机器人是朋友_小朋友最爱的肉松美味来啦!咸香浓郁,肉松??控一定不要错过~...
- C语言课后习题(61)
- antd select option 设置字体颜色_匹配颜色是照片合成重要关键点
- windows系统清理磁盘临时文件,及缓冲文件,及离线文件和空闲文件
- 「开源资讯」Apache Storm 2.2.0 发布,分布式实时计算
- 罗马java_罗马数字转换工具-java
- 2D游戏新手引导点光源和类迷雾实现
- Photoshop精讲精练笔记
- 如何在outlook里面撤回邮件?邮件撤回成功后对方还能不能看到?
- 图片太大,怎么压缩图片大小?
- AI 黑科技,老照片修复,模糊变高清