在第五部分《SimpleCV库的安装和简单使用》中,我们介绍了如何安装和调试SimpleCV库,并进入simplecv的shell进行了拍照和展示,后面还简单的介绍了如何编写Python脚本来完成同样的效果。
但是,要实现我们物联网应用的效果,还需要一些更强大的函数来帮助我们完成我们想要的功能,我们现在并不需要完全理解其函数的实现原理,只需要学会合理地使用函数即可。同学们如果有兴趣也可以找找源码看一下,这样更能提高我们的代码能力。
下面开始介绍本文的重点:
人脸识别
SimpleCV有一个很强大的函数——findHaarFeatures,这是一个在图像中搜索匹配某一种特定模式(或称cascade)的算法,在SimpleCV中自带了几种模式,包括脸、鼻子、眼睛、嘴和身体。如果必要,你也可以下载或生成你自己的模式文件。findHaarFeatures可以分析图像并从中匹配出对应的模式,然后返回匹配到的部分在图像中的位置。这就意味着,你可以从像文件或摄像头捕获的图像中匹配汽车、动物或人。
下面以人脸识别为例,实验一下findHaarFeatures的功能。
#coding:utf-8 //指定编码格式为utf8
from SimpleCV import * //导入SimpleCV所有的库
from time import sleep
cam = Camera() //初始化摄像头
disp = Display() //定义一个窗口对象
while disp.isNotDone():
frame = cam.getImage() //拍摄一张照片
segment = HaarCascade("face.xml