大家英俊的杰瑞又来了,今天利用闲暇的时间给我上了很有趣的课。 杰瑞今天教我用手实现面部识别。 我们可以识别录像和照片的脸,但是杰瑞今天实现的这个脸识别不了哪个人,识别脸、鼻子、耳朵等器官的位置,只能用一个框来标记这些器官。 你不知道为什么具体是谁? 因为杰瑞没有大脸库
教程开始了
杰瑞在这里使用python3.6来实现脸部识别,需要opencv计算机视觉库和numpy数学库。 这两个库的安装非常简单,只需要两个代码即可完成。
在命令行中输入以下命令以安装相应的库(需要pip )
安装完成后,创建python文件,Jerry开始使用sublime text作为编辑器编写代码。 首先,将所需的软件包导入到文件中,如下图所示
我们的准备到此结束。 接着,制作两个检测人脸和眼睛的级联分类器。 使用CascadeClassifier类。 此类的参数是以下两个文件的地址
杰瑞把这两个分类器的xml和py文件放在同一个目录下,所以只写名字就行了
Jerry在此以图像为例,使用cv.imread ( )方法加载需要检查的图像,将加载的图像转换为灰度并快速检查,最后使用分类器子函数检查加载的图像detectMultiScale ( )。
detectMultiScale ( )函数的第一个参数是必须检查的图像,minSize参数是必须检查的大小范围,其馀的参数只能与Jerry一起写。
该函数返回目标的所识别的位置信息,并且通过利用该信息并利用cv2.rectangle ( )函数进行标记,能够完全实现面部识别。
效果的展示
我们能够正确认识脸和眼睛了。