
开源地址:
https://github.com/liukangcc/ART-PI_BAIDUAI
不用自己训练模型,也能进行 AI 图像识别;借助百度云平台,我们可以在 APT-Pi 上实现图像识别功能。
创建图像识别应用
1、打开链接 百度智能云, 申请账号;
2、打开控制台

3、打开图像识别

4、创建应用

5、获取 AK 和 SK

通用图像识别
该请求用于通用物体及场景识别,即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片中的多个物体及场景标签。
1、打开 image_classify.c 文件, 修改 access_token, 填入应用的 AK 和 SK;

2、在 SD 卡中放入要识别的图片;
3、编译下载;
4、在终端输入命令: baidu_ai cat.jpg

5、加入百度百科,使能宏定义:#define BD_AI_BAIKE,编译下载:

返回说明
返回参数

菜品识别
该请求用于菜品识别。即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片的菜品名称、卡路里信息、置信度。
1、修改 URL 为菜品识别:
1 index = strlen(BAIDU_AI_API[1]);
2 post_uri_size = index;
3 post_uri = rt_malloc(256);
4
5 rt_memcpy(post_uri, BAIDU_AI_API[1], post_uri_size);
2、编译下载;
3、识别结果:

返回说明
返回参数

监控报表
在百度服务端,可以查看 API 调用成功和失败的次数:

图像格式
图像格式转换流程:

1、百度 AI 支持的图像格式有:PNG、JPG、JPEG、BMP
2、原始的图片数据需要转换为 base64 编码
3、base64 编码的图片数据进行百分比编码
Base64 编码
请求图片需经过base64编码:图片的base64编码指将一副图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图片的二进制,然后用Base64格式编码即可。
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。
Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。
Base64由于以上优点被广泛应用于计算机的各个领域,然而由于输出内容中包括两个以上“符号类”字符(+, /, =),不同的应用场景又分别研制了Base64的各种“变种”。为统一和规范化Base64的输出,Base62x被视为无符号化的改进版本。
百分比编码
百分比编码 是一种拥有8位字符编码的编码机制,这些编码在URL的上下文中具有特定的含义。它有时被称为URL编码。编码由英文字母替换组成:“%” 后跟替换字符的ASCII的十六进制表示。
需要编码的特殊字符有:':','/','?','#','[',']','@','!','$','&',"'",'(',')','*','+',',',';','=',以及,'%'` 本身.其他的字符虽然可以进行编码但是不需要。
':' '/' '?' '#' '[' ']' '@' '!' '$' '&' "'" '(' ')' '*' '+' ',' ';' '=' '%' ' '%3A %2F %3F %23 %5B %5D %40 %21 %24 %26 %27 %28 %29 %2A %2B %2C %3B %3D %25 %20 或 +
根据上下文, 空白符 ’ ’ 将会转换为 ‘+’ (必须在HTTP的POST方法中使定义 application/x-www-form-urlencoded 传输方式), 或者将会转换为 ‘%20’ 的 URL。
图像识别流程
获取 token
1 /* get token */
2int get_ai_token(const char *uri, unsigned char *token)
3{
4 char *request = RT_NULL;
5 int token_len = 0, index = 0;
6
7 cJSON* cjson_parse = RT_NULL;
8 cJSON* cjson_token = RT_NULL;
9
10 if (webclient_request(uri, RT_NULL, RT_NULL, (unsigned char **)&request) < 0)
11 {
12 &nbs

本文介绍了如何在ART-Pi上利用百度智能云平台实现图像识别功能,包括创建应用、通用图像识别、菜品识别的步骤,以及图像格式如Base64编码和百分比编码的转换流程。
最低0.47元/天 解锁文章
1539

被折叠的 条评论
为什么被折叠?



