1.树莓派中安装摄像头并测试摄像头

1.1、安装mjpg-streamer
在CRT中依次输入一下指令

sudo apt-get update    #更新软件列表
sudo apt-get upgrade  #更新软件
sudo apt-get install subversion  #Subversion是一个自由开源的版本控制系统
sudo apt-get install libjpeg8-dev  #JPEG支持库
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev   #4l是小写"L"
sudo apt-get install cmake  #下载编译工具
sudo apt-get install git
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental //进入该目录
make all  //编译
sudo make install//安装

编译与安装完之后,修改start.sh 文件

vi start.sh

将原本的

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

修改为

./mjpg_streamer -i "./input_raspicam.so" -o "./output_http.so -w ./www"

然后打开摄像头功能

sudo rasp-config

选择第5项,按下回车键

选择P1按下回车键

打开摄像头功能之后,运行start.sh可执行文件

./start.sh

通过网页访问http://IP地址:8080,可查看摄像头拍摄内容

2.安装支持ssl的curl库

3.人脸识别demo

#include <stdio.h>
#include <curl/curl.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>#define true 1
#define false 2typedef unsigned int bool;char buf[1024] = {'\0'};char *pictureTrangeBase64(char *fileName)
{char cmd[128] = {'\0'};char *img;int f_size;int fd;sprintf(cmd,"base64 %s > tmpzhp",fileName);system(cmd);fd = open("./tmpzhp",O_RDWR);f_size = lseek(fd,0,SEEK_END);lseek(fd,0,SEEK_SET);img = (char *)malloc(f_size+2);memset(img,0,f_size+2);read(fd,img,f_size);close(fd);return img;
}size_t readData( void *ptr, size_t size, size_t nmemb, void *stream)
{strncpy(buf,ptr,1024);
}bool postUrl()
{CURL *curl;CURLcode res;char *img1;char *img2;char *key = "Youself Key";//在翔云平台购买人脸识别,会给你提供char *secret = "Youself secret";int typeId = 21;char  *format = "xml";char *postString;int len;int num;printf("Do you want to go home? if yes please input 1:\n");scanf("%d",&num);if(num == 1){printf("Please display you face.\n");system("raspistill  -o zhp2.jpg -q 5"); }img1 = pictureTrangeBase64("./zhp1.jpg");   //将图片转为64流img2 = pictureTrangeBase64("./zhp2.jpg");  len = strlen(key)+strlen(secret)+strlen(img1)+strlen(img2)+128; postString = (char *)malloc(len);memset(postString,'\0',len);sprintf(postString,"&img1=%s&img2=%s&key=%s&secret=%s&typeId=%d&format=%s",img1,img2,key,secret,21,format);    free(img1);free(img2);curl = curl_easy_init();if (curl){curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "/tmp/cookie.txt"); // 指定cookie文件curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postString);    // 指定post内容curl_easy_setopt(curl, CURLOPT_URL, "https://netocr.com/api/faceliu.do");   // 指定urlcurl_easy_setopt(curl, CURLOPT_WRITEFUNCTION ,readData);res = curl_easy_perform(curl);printf("OK ,%d\n",res);if(strstr(buf ,"是") != NULL){printf("the same people.\n");}else{printf("differ people.\n");}}free(postString);return true;
}
int main(void)
{postUrl();
}

总结:一开始我对这条命令并不是很理解raspistill -o zhp2.jpg -q 5就通过命令

raspistill --help//查询这个命令的具体用法

“raspisstill”是摄像头应用程序,在特定时间内运行相机,并在需要时进行JPG捕捉
图像参数的命令:
-q:设置图片的大小,取值范围为(0,100);从翔云平台可以得知,识别图片不能够过大。
-0:输出文件名<文件名>(要写入标准输出,使用’-o -’)。如果未指定,则不保存任何文件
-t:拍照前及关机时间(如未指定,设为5s)

基于树莓派(C语音)实现人脸识别(翔云平台)相关推荐

  1. 智能家居(7) —— 人脸识别 翔云平台编程使用(编译openSSL支持libcurl的https访问、安装SSL依赖库openSSL)

    目录 一.祥云人工智能开放平台 二.编译openSSL支持libcurl的https访问 安装SSL依赖库openSSL(使用工具wget) curl库重新配置,编译,安装 三.编程实现人脸识别 翔云 ...

  2. 智能家居(七) —— 人脸识别 翔云平台编程使用(编译openSSL支持libcurl的https访问、安装SSL依赖库openSSL)

    人工智能OCR识别平台介绍 OCR (Optical Character Recognition,光学字符识别) 百度搜索OCR识别,可以发现有很多大厂都在做这个项目,比如百度OCR,腾讯OCR,科大 ...

  3. 智能家居——人脸识别 翔云平台(配置ssl和下载OpenSSL)

    文章目录 一.祥云人工智能开放平台 二.编译openSSL支持libcurl的https访问 (1)libcurl的https访问问题 (2)安装SSL依赖库openSSL(使用工具wget) (3) ...

  4. 基于树莓派和OpenCV的人脸识别

    前提准备 树莓派(Raspberry Pi)一个 安装好系统(Raspbian) 树莓派摄像头模块(PiCam) 树莓派和摄像头安装好长这样 安装OpenCV 树莓派(Raspbian Buster) ...

  5. 人脸识别--翔云API

    目录 一.购买人脸识别接口 二.了解base64编码 三.通过post实现人脸识别 一.购买人脸识别接口 进入翔云官网购买人脸识别的接口,得到一个key和secret,我们要用到这两个参数才能访问到人 ...

  6. C语言人脸识别——翔云平台调用(含wget安装)

    人脸识别 准备安装的东西 使用mjpg-streamer获得人脸识别比对照片 用处功能 实际问题处理 准备安装的东西 1.安装mjpg-streamer 链接: 树莓派3代 B型 Cortex-A53 ...

  7. C语言实现基于翔云平台的人脸识别demo2(树莓派)

    C语言实现基于翔云平台的人脸识别demo2(树莓派3B) 实现目标 树莓派安装mjpg-streamer 在树莓派下依次执行以下指令 修改start.sh文件(用来开启摄像头进行监控) A:树莓派摄像 ...

  8. C语言实现基于翔云平台的人脸识别demo1(linux)

    C语言实现基于翔云平台的人脸识别demo1(linux) 实现的目标 安装openssl第三方的库 安装libcurl第三方的库 购买使用翔云平台人脸识别的次数 libcurl的使用 **参考以下博文 ...

  9. 语音控制+人脸识别——二次开发 Parrot 无人机!

    继"如何用100美元和 TensorFlow 来造一个能'看'东西的机器人" 之后,Lukas 又一最新力作. 在"造"出能进行物体识别的机器人后,下一步就很清 ...

最新文章

  1. 做转录组测序前需要知道的那些事
  2. 怎样不让Dreamweaver中HTML源代码不自动换行??
  3. 后台excel导出(单sheet 多sheet)
  4. [入门]理想的小白程序员成长曲线
  5. 前端面试---Vue部分考点梳理
  6. 机器学习实践四--正则化线性回归 和 偏差vs方差
  7. 余弦信号频谱表达式_信号傅里叶变换系列文章(1):傅里叶级数、傅里叶系数以及傅里叶变换...
  8. word打开wps文件乱码_word文档打开是乱码解决方法
  9. Win10 Qt5安装
  10. TImage、TPaintBox、TPicture、TBitmap、TCanvas、TGraphic 的关系与区别
  11. sort()函数——C++
  12. Atiitt uke兼wag集团2017年度成果报告总结 attilax著 1. 组织机构进一步完善 8大首席部门 1 2. 事业部进一步完善,以及一百多个事业部了 1 3. 企业文化进一步完善 1
  13. 前端开发项目——企业员工管理系统(前后端分离)
  14. OPNsense用户手册中文版
  15. 应用加密大师计算机,Windows文件夹加密大师
  16. 校园网多拨网速叠加思路
  17. Centos如何设置ip黑名单,防止被攻击
  18. 在学习少儿编程中体会AI乐趣
  19. typora+picgo+smms图床配置(亲测成功)
  20. 局域网win7计算机如何互访,局域网Win7与WinXP电脑不能互访怎么办?

热门文章

  1. 什么是ZYNQ?ZYNQ简介
  2. php.c drcom,[2018-10-11]【DrCOM/dr.com校园网路由器】使用教程 c语言单文件 dogcom 不需python...
  3. OpenCV中的5种平滑滤波操作
  4. uniapp实现将图片保存到手机相册
  5. html 中 TabIndex 属性 的含义
  6. C++STL中string的头文件中的常用函数
  7. 基于语义网的智能医疗助手
  8. linux6.5开启远程,CentOS 6.5 开启Xmanger远程桌面登录(XDMCP和Xstart)
  9. oracle建库建表基础代码,oracle手工代码建库
  10. PPT爱好者应该知道的网站