目录

  • 1.[翔云人脸识别的API](https://www.netocr.com/face.html)
    • 1.1 图片img上传是以base64流的形式上传
  • 2.代码

1.翔云人脸识别的API

1.1 图片img上传是以base64流的形式上传

百度百科
图片是由无数个"小色块’组成每个小色块都是由红绿蓝来表示
#ff9899…
这样图片就能用字符串表示
Linux自带base64工具

直接base64 xxx.jpg 就能看到该图片的64流编码
程序里的代码

system("base64 reba1.jpg > tmpFile");

把生成的编码传到tmpFile

2.代码

#include <stdio.h>
#include <curl/curl.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>typedef unsigned int bool;
#define true 1
#define false 0
char buf[1024] = {'\0'};size_t readData( void *ptr, size_t size,size_t nmemb, void *stream)
{strncpy(buf,ptr,1024);
//    printf("==================get data================\n");printf("%s\n",buf );
}
char* getPicBase64FromFile(char *filePath)
{char *bufPic;char cmd[128] = {'\0'};sprintf(cmd,"base64 %s > tmpFile",filePath);system(cmd);int fd = open("./tmpFile",O_RDWR);int fileLen = lseek(fd,0,SEEK_END)+2;lseek(fd,0,SEEK_SET);bufPic = (char *)malloc(fileLen);memset(bufPic,'\0',fileLen);read(fd,bufPic,fileLen);close(fd);system("rm -f tmpFile");return bufPic;
}bool postUrl()
{CURL *curl;CURLcode res;char *postString;char *key = "5Fr48MNMbvTMDbjhD4****";char *secret = "f6b80478f43148c9bf4de0c9b9ec****";int typeId = 21;char *format = "xml";char *bufPic1 = getPicBase64FromFile("reba1.jpg");char *bufPic2 = getPicBase64FromFile("reba2.jpg");int len = strlen(key)+strlen(secret)+strlen(bufPic1)+strlen(bufPic2)+124;postString = (char *)malloc(len);memset(postString,'\0',len);sprintf(postString,"&img1=%s&img2=%s&key=%s&secret=%s&typeId=%d&format=%s",bufPic1,bufPic2,key,secret,typeId,format);curl = curl_easy_init();if (curl){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);if(strstr(buf,"是") != NULL){printf("the same person\n");}else{printf("different person\n");}printf("Return:%d\n",res);curl_easy_cleanup(curl);}return true;
}int main(void)
{postUrl();
}

遇到过的报错
1.产品类型错误
原因:typeId没有严格按照网页的填写,我写成了typeID
出错代码

sprintf(postString,"&img1=%s&img2=%s&key=%s&secret=%s&typeID=%d&format=%s","bufPic1","bufPic2",key,secret,typeId,format);

基于翔云平台做人脸识别相关推荐

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

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

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

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

  3. 基于翔云OCR云平台的人脸识别(1)

    基于翔云OCR云平台的人脸识别 本节通过翔云OCR云平台来实现人脸识别.调用人脸对比API,通过https post方式向云服务器提交两张需要对比的图片Base64流以及其他信息,云服务器处理后返回判 ...

  4. 基于翔云OCR云平台的人脸识别(2)

    基于翔云OCR云平台的人脸识别(2) 项目思路 raspistill命令的相关参数说明 -v:调试信息查看 -w:图像宽度 -h:图像高度 -rot:图像旋转角度,只支持 0.90.180.270 度 ...

  5. 基于百度AI平台的人脸识别评分小程序

    face-recognition-scoring-applet 开放源代码,遵循Apache License 2.0 效果展示 可切换摄像头.拍照.从相册选择 效果预览 小程序账号注册及配置 地址:h ...

  6. 阿里云平台的人脸识别接口测试

    需要导入的包: 必备模块:import urllib 请求模块:import urllib.request 解析模块:import urllib.parse  可以拆分URL,也可以拼接URL 数据交 ...

  7. 基于汉王云API的人脸识别

    http://down.51cto.com/data/2076078 源码地址,使用汉王云API,得预先申请汉王API key 转载于:https://blog.51cto.com/p6xos/167 ...

  8. AI 实战篇 |基于 AI开放平台实现 人脸识别对比 功能,超详细教程【附带源码】

  9. 基于树莓派(C语音)实现人脸识别(翔云平台)

    1.树莓派中安装摄像头并测试摄像头 1.1.安装mjpg-streamer 在CRT中依次输入一下指令 sudo apt-get update #更新软件列表 sudo apt-get upgrade ...

最新文章

  1. 高并发场景下数据库的常见问题及解决方案
  2. oracle触发器监听数据变化,【Trigger】利用Oracle的触发器,自动记录数据的变动履历...
  3. 有向图最长路径算法_算法数据结构 | 三个步骤完成强连通分量分解的Kosaraju算法...
  4. 【算法竞赛学习】数字中国创新大赛智慧海洋建设-Task2数据分析
  5. P1541-乌龟棋【多维dp】
  6. MinGW - Minimalist GNU for Windows
  7. 前端学习(2741):重读vue电商网站51之首页内容定制
  8. 使用layer.tips实现鼠标悬浮时触发事件提示消息实现
  9. 12位故去的国家最高科技奖得主:科学寰宇,那些永不陨落的“星”
  10. 修改myeclipse字体与操作系统的字体一致
  11. 诺基亚继续打情怀牌:怀旧小屏手机入网!
  12. 嵌入式系统设计师教程笔记
  13. MobileNet_V3—SSD网络模型图文详解
  14. 排序算法lowB三人组
  15. void main java_详细讲解Java中的main()方法
  16. RK61键盘使用说明书
  17. 3V, 256Mb MX25L25673GM2I-08G FLASH - NOR 存储器PDF
  18. AI高效学习路径总结
  19. SAP中重订货点Reorder Point原理分析及测试
  20. 在线教育平台架构设计

热门文章

  1. python读取grib2数据_用Python加载grib2文件
  2. 覆盖libc.so.6的惨痛教训
  3. 第35期代谢组学暨多元变量统计分析培训班招生啦!
  4. 我们为什么要学计算机硬件技术设计,《计算机硬件组成》教学设计
  5. c语言 算术平均滤波法_c语言滤波算法
  6. 【云原生】具体指什么呢---此文和大伙儿分享答案
  7. 三年软件开发工作经验,被人质疑技术水平,我静静不说话
  8. 深度相机(九)--OpenNI API及中间件说明
  9. Android应用实现Https双向认证
  10. html 中 TabIndex 属性 的含义