在第五部分《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")    //导入face.xml文件并赋给segmentautoface = frame.findHaarFeatures(segment)    //检测刚才拍到的照片中有没有人脸if ( autoface is not None ):face = autoface[-1].crop()   //将照片中的人脸“扣”下来face.save(disp)    //保存当前窗口face.save("myface.jpg")   //保存图片到当前目录下f = open('/var/www/html/face.txt', mode='w')   //打开/var/www/html/face.txtf.write('Nice~~~ I get your handsome face!')   //向face.txt写入一段话,用于测试time.sleep(5)    //5秒钟之后程序结束

将上述代码编辑保存并运行后,将摄像头对准人脸拍照,过一会之后,就可以看到屏幕上会显示一张人脸,并且这张图片会保存到当前目录下。(因为树莓派性能问题,运行的比较慢)

如果屏幕成功显示一张人脸,并且有myface.jpg保存到当前运行程序的目录下,说明人脸识别成功!

接下来同学们就可以根据自己的需求,进一步设计自己想要实现的效果了。

树莓派(八)——用摄像头拍照识别人脸并保存到指定位置相关推荐

  1. JAVA 调用摄像头 拍照 实现人脸识别

    JAVA 调用摄像头 拍照 实现人脸识别 今天想试试百度的api 实现一下近年的热点,人脸识别,虽然咱不会,百度会呀,还免费给我无限用呀. 注册百度云账号等:略. Java中调用摄像头,网上搜到两种方 ...

  2. 利用python调用本地摄像头拍照,对图片命名并保存到指定位置,带界面

    1.需求: 因项目需要做一个以图搜图的小程序,需要储备零件图库,约1000种 2.原计划&痛点 原本想通过手机挨个拍照,再拷贝出来,重命名,这样会耽误大量时间,且容易出错 3.解决方案 于是做 ...

  3. php微信拍照图库js接口,微信JSSDK 实现打开摄像头拍照再将相片保存到服务器

    在微信端打开手机摄像头拍照,将拍照图片保存到服务器上需要使用到微信的JSSDK接口,主要使用到了拍照或从手机相册中选图接口(chooseImage),上传图片接口(uploadImage) 参考资料: ...

  4. Android调用系统相机拍照并保存到指定位置

    Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto)void onclick() {Intent intent = new Intent(MediaSt ...

  5. android固定位置拍照,Android调用系统相机拍照并保存到指定位置

    Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto) void onclick() { Intent intent = new Intent(Media ...

  6. 微信js调用摄像头拍照上传_微信JSSDK实现打开摄像头拍照再将相片保存到服务器...

    在微信端打开手机摄像头拍照,将拍照图片保存到服务器上需要使用到微信的JSSDK接口,主要使用到了拍照或从手机相册中选图接口(chooseImage),上传图片接口(uploadImage) 参考资料: ...

  7. Java海康威视摄像头实时预览视频流保存到指定文件中

    海康威视摄像头实时预览视频流保存到文件中 目前在开发海康威视sdk ,IPC设备,视频回调用的是官方提供的Demo中的(fRealDataCallBack ) 在最下面代码可以设置Thread.sle ...

  8. android拍照识别人脸,Android 人脸识别拍照demo

    1.活体与照片.效果,捕获人脸 2.活体人脸识别:https://blog.csdn.net/meixi_android/article/details/88690445 运行效果: 自定义获取人脸v ...

  9. java opencv 调用摄像头_opencv C++实现调用摄像头动态识别人脸

    前言 #include #include #include #include #include #include #include #include #include #include using n ...

最新文章

  1. 2017年前端面试题整理汇总100题
  2. [Ext JS 4] 实战Chart 协调控制(单一的坐标,两个坐标)
  3. c++同时读取文本_VBA专题08:使用VBA操作文本文件
  4. 深圳.Net俱乐部2.26活动资源下载之——从SmartClient到ClickOnce
  5. 【数据挖掘】决策树 分类 ( 抽取分类规则 | 过拟合 | 剪枝 | 先剪 | 后剪 | 连续数值离散化 | 最优化分点 | 增益率选择划分属性 )
  6. 关于Unity中坐标系的种类
  7. sfp光模块和sfp+高速线缆有什么区别?
  8. [Diary]我也要向菁儿检讨一下
  9. python list是数组还是链表实现的_python 数据结构 list和链表实现栈的三种方法
  10. mysql连接池源码_一个JAVA数据库连接池实现源码
  11. pytorch中的乘法操作
  12. 执行Hexo d报错Spawn failed, 以及OpenSSL SSL_read: Connection was reset, errno 10054
  13. K近邻算法(K-NN)
  14. node静态服务器tudo
  15. Java 计算两个日期时间差(天数、时、分、秒、毫秒)
  16. linux内核 4g拨号,openwrt 基于qmi的 3G|4G拨号
  17. 大数据01:前置条件
  18. AE制作粒子飘雪效果
  19. 如何搭建Jenkins导出Unity安卓环境
  20. 发个小程序: 实现今年流行语大全的自动编号(今年流行语大全整理之上部分)

热门文章

  1. 线性、非线性和单调关系
  2. C-TPAT认证咨询,当实体加入CTPAT时,将与CBP达成协议以保护供应链
  3. 不错的在线视频下载软件
  4. 轻雨物联网科技 - 智能门禁系统
  5. 2023年PMP考试难不难?
  6. 笔记本电脑升降台市场现状及未来发展趋势分析
  7. [pwnable.kr]uaf
  8. 《HTML与CSS入门经典(第8版)》——1.6 总结
  9. php mysql 注入一句话木马_渗透技术--SQL注入写一句话木马原理
  10. 新的数字革命真的有意义么?