手把手教你如何用 OpenCV + Python 实现人脸识别
配好了OpenCV的Python环境, opencv api 要想使用opencv,就必须先知道其能干什么,怎么做。于是API的重要性便体现出来了。就本例而言,使用到的函数很少,也就普通的读取图片,灰度转换,显示图像,简单的编辑图像罢了。 读取图片 只需要给出待操作的图片的路径即可。 灰度转换 灰度转换的作用就是:转换成灰度的图片的计算强度得以降低。 画图 opencv 的强大之处的一个体现就是其可以对图片进行任意编辑,处理。 显示图像 编辑完的图像要么直接的被显示出来,要么就保存到物理的存储介质。 获取人脸识别训练数据看似复杂,其实就是对于人脸特征的一些描述,这样opencv在读取完数据后很据训练中的样品数据,就可以感知读取到的图片上的特征,进而对图片进行人脸识别。 里卖弄的这个xml文件,就是opencv在GitHub上共享出来的具有普适的训练好的数据。我们可以直接的拿来使用。 训练数据参考地址:https://github.com/opencv/opencv/tree/master/data/haarcascades 探测人脸 说白了,就是根据训练的数据来对新图片进行识别的过程。import cv2 image = cv2.imread(imagepath)
import cv2 gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
下面的这个函数最后一个参数指定的就是画笔的大小。import cv2 cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)
import cv2 cv2.imshow("Image Title",image)
import cv2 face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml')