OpenCV是最流行的计算机视觉库,支持跨平台运行,支持Linux、Windows、Android和Mac OS,提供了Python、Ruby、MATLAB等语言的接口。
今天介绍怎么搭建Python + OpenCV环境,不用关心底层算法,直接调用接口快速实现识别图片人脸(也可以做修改实时识别视频人脸)的功能,体验人脸识别魅力。
环境配置
环境拓扑
操作系统:Windows7 64bit
Pythone版本:3.7.4
OpenCV版本:4.1.1.26
配置环境
安装Python
网上很多教程,自行搜索
安装OpenCV
在命令提示符中输入Scripts目录,例如cd D:Python37Scripts
利用pip.exe安装OpenCV:pip install opencv-python
还需要NumPy库(用于Python进行科学计算),但NumPy与OpenCV绑定安装,无需自己输入命令。
安装之后用 pip list命令查看是否有numpy、opencv-python库
Python识别图片中所有人脸
实现代码
#-*-coding:utf8-*-#import numpy as npimport cv2# 在图像上画矩形,框处所有人脸def detectFaces(image_name): # 读取图片 img = cv2.imread(image_name) # 使用人脸识别分类器 face_cascade = cv2.CascadeClassifier("F:haarcascadeshaarcascade_frontalface_default.xml") # 设定灰度图片 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 分类器识别面部,人脸位置检测 faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30,30), flags=0) # 框出图像中所有人脸的矩形坐标 for (x,y,width,heigth) in faces: cv2.rectangle(img, (x,y), (x+width,y+heigth), (0,255,0), 2) # 显示带方框的人脸图像 cv2.imshow("show faces