基于翔云平台做人脸识别
目录
- 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);
基于翔云平台做人脸识别相关推荐
- C语言实现基于翔云平台的人脸识别demo1(linux)
C语言实现基于翔云平台的人脸识别demo1(linux) 实现的目标 安装openssl第三方的库 安装libcurl第三方的库 购买使用翔云平台人脸识别的次数 libcurl的使用 **参考以下博文 ...
- C语言实现基于翔云平台的人脸识别demo2(树莓派)
C语言实现基于翔云平台的人脸识别demo2(树莓派3B) 实现目标 树莓派安装mjpg-streamer 在树莓派下依次执行以下指令 修改start.sh文件(用来开启摄像头进行监控) A:树莓派摄像 ...
- 基于翔云OCR云平台的人脸识别(1)
基于翔云OCR云平台的人脸识别 本节通过翔云OCR云平台来实现人脸识别.调用人脸对比API,通过https post方式向云服务器提交两张需要对比的图片Base64流以及其他信息,云服务器处理后返回判 ...
- 基于翔云OCR云平台的人脸识别(2)
基于翔云OCR云平台的人脸识别(2) 项目思路 raspistill命令的相关参数说明 -v:调试信息查看 -w:图像宽度 -h:图像高度 -rot:图像旋转角度,只支持 0.90.180.270 度 ...
- 基于百度AI平台的人脸识别评分小程序
face-recognition-scoring-applet 开放源代码,遵循Apache License 2.0 效果展示 可切换摄像头.拍照.从相册选择 效果预览 小程序账号注册及配置 地址:h ...
- 阿里云平台的人脸识别接口测试
需要导入的包: 必备模块:import urllib 请求模块:import urllib.request 解析模块:import urllib.parse 可以拆分URL,也可以拼接URL 数据交 ...
- 基于汉王云API的人脸识别
http://down.51cto.com/data/2076078 源码地址,使用汉王云API,得预先申请汉王API key 转载于:https://blog.51cto.com/p6xos/167 ...
- AI 实战篇 |基于 AI开放平台实现 人脸识别对比 功能,超详细教程【附带源码】
- 基于树莓派(C语音)实现人脸识别(翔云平台)
1.树莓派中安装摄像头并测试摄像头 1.1.安装mjpg-streamer 在CRT中依次输入一下指令 sudo apt-get update #更新软件列表 sudo apt-get upgrade ...
最新文章
- 高并发场景下数据库的常见问题及解决方案
- oracle触发器监听数据变化,【Trigger】利用Oracle的触发器,自动记录数据的变动履历...
- 有向图最长路径算法_算法数据结构 | 三个步骤完成强连通分量分解的Kosaraju算法...
- 【算法竞赛学习】数字中国创新大赛智慧海洋建设-Task2数据分析
- P1541-乌龟棋【多维dp】
- MinGW - Minimalist GNU for Windows
- 前端学习(2741):重读vue电商网站51之首页内容定制
- 使用layer.tips实现鼠标悬浮时触发事件提示消息实现
- 12位故去的国家最高科技奖得主:科学寰宇,那些永不陨落的“星”
- 修改myeclipse字体与操作系统的字体一致
- 诺基亚继续打情怀牌:怀旧小屏手机入网!
- 嵌入式系统设计师教程笔记
- MobileNet_V3—SSD网络模型图文详解
- 排序算法lowB三人组
- void main java_详细讲解Java中的main()方法
- RK61键盘使用说明书
- 3V, 256Mb MX25L25673GM2I-08G FLASH - NOR 存储器PDF
- AI高效学习路径总结
- SAP中重订货点Reorder Point原理分析及测试
- 在线教育平台架构设计