【Ubuntu】基于C++实现人脸识别

人脸识别考勤机
文章目录第二章 “hello,world!”程序 第三章 开启摄像头 第四章 人脸检测 第五章 人脸识别-接入百度智能云平台 第六章 解析人脸识别数据后记1:优化显示
注:代码文件会放在本人的仓库 。
概述
实现效果
图1 项目最终实现效果
所需工具
老师使用: + .04 + .4.9 + 百度云人脸识别SDK 。
我的使用: + .04.1 + .2.0 + 百度云人脸识别SDK 。
注意点:课程安装的比较老,所以终端编译时要注意有些函数已经更换库了 。
:在电脑上搭建Linux系统进行开发 。:完成摄像头显示、人脸检测等步骤 。百度云人脸识别SDK:上传获取的人脸图片,并完成 在线人脸识别 (免费使用1000次/月,个人使用大约10元/月) 。
项目框架
图3-1 项目框架
电脑上安装了Linux虚拟机,所以电脑可以充当人脸识别考勤机的硬件 。电脑上的摄像头进行“图像采集”,也就是拍照 。调用库进行“人脸检测”,框出检测到的人脸,然后分割出“人脸截图” 。将“人脸截图”上传到百度智能云进行“人脸识别” 。解析百度智能云返回的识别结果,然后在屏幕上显示当前的人脸信息 。第一章 搭建环境 1.1 什么是物联网
行业背景
物联网属于计算机行业发展到一定阶段的产物 。所以要想了解物联网的话,就需要先聊一聊国内互联网产业的发展规律 。在国内,计算机产业的发展基本上是十年一变:
技术背景
那想学习物联网,该学习一些什么技术呢?物联网时代要想让一个“物”变得智能化、网络化,最主要的是使用嵌入式技术 。所谓“嵌入式”就是将一个特定的计算机系统嵌入到某个“物”中,使这个“物”变的智能 。所以“嵌入式”并不是一个特定的产品或行业,它只是一种计算机技术 。常见的嵌入式技术的应用:智能音箱、扫地机器人、工厂机械臂、无人车、智能手环、送餐机器人等 。
下面来解析一下嵌入式的官方定义:
以应用为中心:做嵌入式产品的目的就是为了应用 。
以计算机技术为基础:嵌入式系统的本质也是计算机,只是将这个计算机嵌入到了某一个物体当中,从而将这个物体变得智能化 。
软硬件可裁剪:不同的产品所需功能不同,开发时我们可以根据需求将不需要的软硬件裁剪以降低成本 。比如智能音箱需要音响及音乐播放程序、扫地机器人需要超声波雷达及扫地程序等 。
对体积、功耗、成本、稳定性等有严格要求:嵌入式产品可能工作在各种环境下,相较于普通计算机在某些性能上要求更严 。比如智能手环注重功耗、工业机械臂注重精准度等 。
的专用计算机系统:电脑和手机只提供通用的系统环境,我们可以根据自己的需求开发对应的APP,属于通用计算机,软件开发比重较大;而嵌入式系统的软硬件都是为某一个具体产品定制的,属于专用计算机,软件开发比重较小 。
发展前景
不像互联网和移动互联网,物联网涉及到的设备与技术太多,无法在短短十年发展完成,所以未来十年甚至几十年物联网都会一直发展 。而物联网在全国甚至全球都刚刚兴起,各大公司都会在物联网布局,人才需求量很大 。但现在高校很难培养出真正合格的、市场可用的物联网人才,所以物联网人才现在有很大的缺口 。
课程定位
本课程计划用5天时间,体验嵌入式产品开发的全过程 。
项目目标
实现人脸识别考勤机:启动后,摄像头自动识别人脸信息,并显示姓名、时间,同时生成日志文件log.txt记录 。
1.2 物联网应该怎么学