php百度人脸识别param[image_template] is null使用BASE64图片类型json_decode返回NULL的处理解决方案

简介: php百度人脸识别param[image_template] is null使用BASE64图片类型json_decode返回NULL的处理解决方案

在使用BASE64图片类型过程中出现了NULL提示,经分析和解决过程如下。

一、转化图片为BASE64格式,注意图片的base64编码是不包含图片头的,如data:image/jpg;base64,因此用explode去除图片头。

$v1 = 'images/v1.jpg';
$v2 = 'images/v2.jpg';
$img_v1 = explode(',', imgToBase64($v1));
$img_v2 = explode(',', imgToBase64($v2));

二、$bodys接口中的JSON数据格式如下:

$bodys = "{\"image_template\":{\"image\":\"" . $img_v1[1] . "\",
\"image_type\":\"BASE64\",
\"quality_control\":\"NONE\"},
\"image_target\":{\"image\":\"$img_v2[1]\",
\"image_type\":\"BASE64\",
\"quality_control\":\"NONE\"}
}";

三、在测试过程中出现param[image_template] is null提示:

string(136) "{"error_code":222001,"error_msg":"param[image_template] is null","log_id":2010505101154,"timestamp":1587451915,"cached":0,"result":null}"

按照百度人脸识别文档,知道image_template类型错误,必须是array格式,因此b o d y s 格 式 有 错 误 , 需 要 转 换 bodys格式有错误,需要转换bodys格式有错误,需要转换bodys格式;


四、json中含有不可见字符,json_decode解析出错

for ($i = 0; $i <= 31; ++$i) {
    $bodys = str_replace(chr($i), "", $bodys);
}

五、完整代码:

$url = 'https://aip.baidubce.com/rest/2.0/face/v1/merge?access_token=' . $b->access_token;
$bodys = "{\"image_template\":{\"image\":\"" . $img_v1[1] . "\",
\"image_type\":\"BASE64\",
\"quality_control\":\"NONE\"},
\"image_target\":{\"image\":\"" . $img_v2[1] . "\",
\"image_type\":\"BASE64\",
\"quality_control\":\"NONE\"}
}";
for ($i = 0; $i <= 31; ++$i) {
    $bodys = str_replace(chr($i), "", $bodys);
}
$res = request_post($url, $bodys);
var_dump($res);


Done!

相关文章
|
4月前
|
JSON 定位技术 PHP
PHP技巧:解析JSON及提取数据
这就是在PHP世界里探索JSON数据的艺术。这场狩猎不仅仅是为了获得数据,而是一种透彻理解数据结构的行动,让数据在你的编码海洋中畅游。通过这次冒险,你已经掌握了打开数据宝箱的钥匙。紧握它,让你在编程世界中随心所欲地航行。
156 67
|
7月前
|
JSON Java fastjson
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——使用 fastJson 处理 null
本文介绍如何使用 fastJson 处理 null 值。与 Jackson 不同,fastJson 需要通过继承 `WebMvcConfigurationSupport` 类并覆盖 `configureMessageConverters` 方法来配置 null 值的处理方式。例如,可将 String 类型的 null 转为 &quot;&quot;,Number 类型的 null 转为 0,避免循环引用等。代码示例展示了具体实现步骤,包括引入相关依赖、设置序列化特性及解决中文乱码问题。
338 0
|
3月前
|
数据安全/隐私保护 计算机视觉 Python
人脸识别图片眨眼生成器,手机制作人脸眨眼张嘴, 代替真人刷脸软件
代码实现了基于面部特征点的人脸动画生成,包括眨眼和张嘴动作。它使用dlib进行人脸检测和特征点定位
|
3月前
|
算法 数据安全/隐私保护 计算机视觉
人脸识别图片眨眼生成器,一键生成眨眼照片,照片眨眼生成器免费
要使用此代码,您需要先下载dlib的68点人脸关键点模型文件(shape_predictor_68_face_landmarks.dat)
|
4月前
|
机器学习/深度学习 计算机视觉 索引
眨眼张嘴人脸识别软件,图片眨眼摇头生成器,制作眨眼睛张嘴图软件
本系统基于OpenCV和Dlib实现人脸动态特征识别与图像生成,包含眨眼、张嘴检测及头部姿态估计功能,提供约200行核心代码,并支持扩展深度学习模型提升性能。
|
3月前
|
数据安全/隐私保护 计算机视觉 Python
人脸识别图片眨眼生成器,虚拟相机过人脸软件, 秒解人脸识别软件
这个系统包含三个主要模块:人脸检测与特征点识别、虚拟相机实现和主程序入口。代码使用了dlib库
|
4月前
|
机器学习/深度学习 编解码 计算机视觉
MATLAB实现人脸识别检测与标出图片中人脸
MATLAB实现人脸识别检测与标出图片中人脸
147 0
|
11月前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
274 4
|
12月前
|
XML JSON 数据可视化
数据集学习笔记(二): 转换不同类型的数据集用于模型训练(XML、VOC、YOLO、COCO、JSON、PNG)
本文详细介绍了不同数据集格式之间的转换方法,包括YOLO、VOC、COCO、JSON、TXT和PNG等格式,以及如何可视化验证数据集。
2745 1
数据集学习笔记(二): 转换不同类型的数据集用于模型训练(XML、VOC、YOLO、COCO、JSON、PNG)
|
11月前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。

热门文章

最新文章