怎么用python结合opencv来检测图片中的人脸?

作者:流年 | 创建时间: 2023-07-07
本文介绍一下,用python结合opencv来检测图片中的人脸的具体方法,并用绿色框把途中的人脸框选出来。 前提是,你已经在电脑上安装了python3和opencv模块。 安装opencv模块的方法,可以参考。...
怎么用python结合opencv来检测图片中的人脸?

操作方法

首先,在python编译器里面加载opencv和re模块: # -*- coding: utf-8 -*- import cv2,re re模块用来防止转义,主要在python加载文件时,防止文件的绝对路径转义。

指定训练数据集的绝对路径,注意是绝对路径,文件名称是: haarcascade_frontalface_default.xml 这是一个表格文件,用来训练前脸识别的。 绝对路径放在引号里面,并在引号前面加上字母r,防止转义哦。

准备一张图片,放到电脑桌面上。 记下图片的绝对路径。

在python里面加载训练数据,并读取图片。 face_patterns = cv2.CascadeClassifier(path1) sample_image = cv2.imread(path2) 此时运行,不会有任何返回,但是机器已经被训练好了。

用训练的结果,来识别图中人脸的位置。 这个时候返回的是人脸的位置坐标,但是,这个坐标是放在内存里面,你看不到。 faces = face_patterns.detectMultiScale(sample_image,scaleFactor=1.1,minNeighbors=5,minSize=(50, 50))

在原图上,框选人脸,并把图片保存为lian.png。 注意看,导出图片用的也是绝对路径,前面的r防止转义。

下图是导出的图片。

温馨提示

用Mathematica也可以识别人脸,而且代码更简洁。但是,Mathematica的人脸识别,好像只能识别正脸。
点击展开全文

更多推荐