当前位置:首页 > 天道酬勤 > 正文内容

()

张世龙2021年12月20日 20:01天道酬勤1090

OpenCV是最受欢迎的计算机视觉库,支持跨平台运行,支持Linux、Windows、安卓、Mac OS,支持Python、Ruby、MATLAB等语言的

今天,我们将介绍如何构建Python OpenCV环境。 无需在意基本的算法,直接调用界面快速识别图像的脸部(也可以修改为实时识别动态图像的脸部),体验脸部识别的魅力。

环境配置

环境拓扑结构

操作系统: windows764位

手机版本:3.7.4

OpenCV版本:4.1.1.26

设定环境

安装Python

网上很多教程,自己搜索

OpenCV的安装

在命令提示符下输入Scripts目录,例如cd D:\Python37\Scripts

在pip.exe上安装opencv:pip安装opencv-python

虽然也需要NumPy库,但是NumPy是与OpenCV一起安装的,所以不需要自己输入命令。

安装后,使用pip list命令检查是否有numpy和opencv-python库

Python识别图片中所有人脸

实现代码

# #--编码: utf8--- # #

导入编号为

导入CV 2

# #在图像上画矩形,边框处有人脸

efdetectfaces (图像名称) :

读取# # #图像

img=cv2. im读取(图像名称) )。

使用脸部识别分类器

face _ cascade=cv2.cascade等级(f 3360 (Haar cascades (Haar cascade _前端面_默认. XML ) )。

# #灰度图像的设定

灰色=cv2.cvtcolor (img,cv2.color _ bgr 2灰色) )。

# #识别器识别脸部,检测脸部的位置

faces=face _ cascade.detect multiscale (灰色,

比例因子=1.1,

最小能量=5,

最小=(30,30 )、

标志=0)

# #用框包围图像内所有面部的矩形坐标

for(x,y,宽,高) in faces:

cv2.矩形(img,) x,y ),x宽度,y高度),0,255,0 ),2 ) ) ) ) ) ) ) ) ) ) ) ) )。

显示带# # #框的面部图像

cv2.im show (显示脸部)、img ) )。

cv2. wait关键字(0) (等于) (等于) ) (等于) ) (等于) ) ) ) ) ) ) )。

#if rects:

# # img=图像。

if __name__=='__main__':

print ('显示识别出的脸部图像:')

检测面部(f : (面部. png ) () ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )到) ) ) )。

代码说明

代码流

读取图像,将OpenCV识别器的图像转换为灰度图像,调用OpenCV接口后,classifier识别面部矩形框,标记面部,显示面部识别器

OpenCV官网https://opencv.org /发行版/下载活动项目示例

解压后,得到面部水平分类器。

常用面部等级分类器说明:

灰度图像

在OopenCV的haarcascades目录中训练过的分类器需要以灰度为输入。

人脸识别函数detectMultiScale

函数原型:

void检测多路复用(

恒定市场影像,

cv _输出向量反射对象,

双比例因子=1.1,

int minNeighbors=3,

int flags=0,

Size minSize=Size ()、

Size maxSize=Size (

);

参数说明:

image :表示检测出输入图像,一般用灰度图像提高检测速度;

objects :表示检测出的面部目标的矩形框向量组;

比例因子:表示前后2次连续扫描中,检索窗口的比例因子。 默认值为1.1,每个搜索窗口放大10%。

minNeighbors :表示构成检测对象的邻接矩形的最小个数,默认为3个(因为()即使是与周围像素不同的窗口尺寸也可以检测出面部);

最小:目标的最小大小

minSize :目标的最大大小。

效果图

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/25842.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。