news 2026/9/25 4:17:23

百度 AI API 调用速查表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
百度 AI API 调用速查表

本速查表基于项目中使用的 5 个核心识别功能(植物、动物、车辆、车牌、菜品)整理,涵盖 API 调用的核心要素(客户端、方法名、参数、结果字段等),方便开发时快速查阅,减少重复查文档的成本。

识别类型核心客户端API 方法名必传参数常用可选参数结果存储节点关键结果字段(示例)
植物识别ImageClassifyPlantDetectimage(byte[])无(默认返回所有结果)"result"- name:植物名称(如 “玫瑰”)- score:相似度(0-1,如 0.92)
动物识别ImageClassifyAnimalDetectimage(byte[])无(默认返回所有结果)"result"- name:动物名称(如 “金毛寻回犬”)- score:相似度(0-1,如 0.89)
车辆识别ImageClassifyCarDetectimage(byte[])top_num(返回结果数)"result"- name:车辆型号(如 “宝马 3 系 2020 款”)- score:相似度(0-1,如 0.95)
车牌识别OcrLicensePlateimage(byte[])multi_detect(多车牌)"words_result"- color:车牌颜色(如 “blue”)- number:车牌号码(如 “京 A12345”)
菜品识别ImageClassifyDishDetectimage(byte[])top_num(返回结果数)"result"- name:菜品名称(如 “宫保鸡丁”)- calorie:卡路里(每 100g,如 “150kcal”)- probability:相似度(0-1,如 0.91)

一、通用调用步骤(所有功能通用)

  1. 初始化客户端

    :传入百度 AI 的API_KEY和SECRET_KEY

    创建对应客户端(ImageClassify或Ocr)。

    // 图像分类客户端(植物/动物/车辆/菜品) ImageClassify classifyClient = new ImageClassify(API_KEY, SECRET_KEY); // OCR客户端(车牌识别) Ocr ocrClient = new Ocr(API_KEY, SECRET_KEY);
  2. 设置超时时间

    (可选,默认可能较短,建议设置为 60 秒):

    classifyClient.Timeout = 60000; // 单位:毫秒 ocrClient.Timeout = 60000;
  3. 读取图片为字节数组

    (API 要求的统一输入格式):

    // 方式1:直接读取(可能锁定文件,适合简单场景) byte[] imageBytes = File.ReadAllBytes("图片路径.jpg"); // 方式2:流读取(避免文件锁定,推荐生产环境) using (var stream = new FileStream("图片路径.jpg", FileMode.Open, FileAccess.Read)) { byte[] imageBytes = new byte[stream.Length]; stream.Read(imageBytes, 0, imageBytes.Length); }
  4. 调用 API 并解析结果:根据识别类型调用对应方法,从返回的JObject中提取结果(需引用Newtonsoft.Json.Linq)。

二、各功能调用示例(含参数配置)

1. 植物识别(无可选参数)

// 1. 调用API var result = classifyClient.PlantDetect(imageBytes); // 2. 解析结果 if (result.ContainsKey("result") && result["result"] is JArray plantList) { foreach (JObject plant in plantList) { string name = plant["name"]?.ToString() ?? "未知植物"; double score = plant["score"]?.ToObject<double>() ?? 0; Console.WriteLine($"植物:{name},相似度:{score:F2}"); } }

2. 车辆识别(带 top_num 参数)

// 1. 配置可选参数(只返回前3个相似度最高的结果) var carOptions = new Dictionary<string, object> { {"top_num", 3} }; // 2. 调用API var result = classifyClient.CarDetect(imageBytes, carOptions); // 3. 解析结果 if (result.ContainsKey("result") && result["result"] is JArray carList) { foreach (JObject car in carList) { string name = car["name"]?.ToString() ?? "未知车辆"; double score = car["score"]?.ToObject<double>() ?? 0; Console.WriteLine($"车辆:{name},相似度:{score:F2}"); } }

3. 车牌识别(带 multi_detect 参数)

// 1. 配置可选参数(允许识别图片中的多个车牌) var plateOptions = new Dictionary<string, object> { {"multi_detect", "true"} }; // 2. 调用API(注意使用Ocr客户端) var result = ocrClient.LicensePlate(imageBytes, plateOptions); // 3. 解析结果(结果存在于"words_result"节点) if (result.ContainsKey("words_result") && result["words_result"] is JArray plateList) { foreach (JObject plate in plateList) { string colorCode = plate["color"]?.ToString() ?? "unknown"; string color = colorCode == "blue" ? "蓝色" : colorCode == "yellow" ? "黄色" : "未知"; string number = plate["number"]?.ToString() ?? "未知号码"; Console.WriteLine($"车牌:{color}({number})"); } }

4. 菜品识别(带 top_num 参数,结果含卡路里)

// 1. 配置可选参数(只返回前4个菜品结果) var dishOptions = new Dictionary<string, object> { {"top_num", 4} }; // 2. 调用API var result = classifyClient.DishDetect(imageBytes, dishOptions); // 3. 解析结果(相似度字段为probability,非score) if (result.ContainsKey("result") && result["result"] is JArray dishList) { foreach (JObject dish in dishList) { string name = dish["name"]?.ToString() ?? "未知菜品"; string calorie = dish["calorie"]?.ToString() ?? "未知"; double probability = dish["probability"]?.ToObject<double>() ?? 0; Console.WriteLine($"菜品:{name},卡路里:{calorie}/100g,相似度:{probability:F2}"); } }

三、关键注意事项

  1. 客户端与功能对应:

    • 植物、动物、车辆、菜品识别必须使用ImageClassify客户端。

    • 车牌识别必须使用Ocr客户端,混用会导致 API 调用失败。

  2. 结果字段差异:

    • 植物、动物、车辆的相似度字段为"score"。

    • 菜品的相似度字段为"probability"(百度 API 设计差异,需特别注意)。

    • 车牌识别的结果节点为"words_result",其他功能为"result"。

  3. 参数值类型:

    • 可选参数的值需为object类型,如top_num传3(int),multi_detect传"true"(string),需严格按照百度 API 文档要求传值。

  4. 异常处理:

    • 调用 API 前需确保图片文件存在且可读,避免IOException。

    • 网络异常(如无网络、超时)或 API 错误(如密钥无效、图片过大)会抛出Exception,需通过try-catch捕获并提示用户。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 20:41:46

TIA博途虚拟机一站式解决方案:快速搭建开发环境

TIA博途虚拟机一站式解决方案&#xff1a;快速搭建开发环境 【免费下载链接】TIA博途虚拟机文件V17V16V15.1可直接使用 本仓库提供了一个TIA博途虚拟机文件&#xff0c;包含TIA Portal V17、V16和V15.1版本&#xff0c;用户可以直接使用这些虚拟机进行开发和测试。虚拟机文件已…

作者头像 李华
网站建设 2026/9/24 4:55:14

ExifToolGui视频GPS坐标编辑终极指南:快速添加位置信息

想要为视频文件快速添加GPS坐标信息&#xff1f;ExifToolGui提供了简单高效的解决方案。作为ExifTool的图形界面工具&#xff0c;它让复杂的元数据编辑变得直观易用。本指南将带你掌握视频GPS坐标编辑的核心技巧&#xff0c;从问题识别到解决方案&#xff0c;再到最佳实践&…

作者头像 李华
网站建设 2026/9/24 19:07:03

1、实用数字取证成像指南:Linux 工具助力数字证据安全保障

实用数字取证成像指南:Linux 工具助力数字证据安全保障 一、数字取证成像的重要性与背景 在当今数字化时代,数字证据的保存变得至关重要,它广泛应用于企业治理、法规合规、刑事和民事诉讼以及军事行动等多个领域。无论是企业处理人力资源投诉、政策违规和员工解雇问题,还…

作者头像 李华
网站建设 2026/9/24 20:27:06

2、数字取证概述与发展历程

数字取证概述与发展历程 1. 数字取证相关基础说明 在介绍新工具前,通常会有一段描述该工具功能、用途以及其与数字取证相关性的内容,部分情况下还会提及工具的历史。展示任务和工具描述后,会给出一个或多个命令行示例以及命令输出,命令可能会重复以展示不同变体或扩展用法…

作者头像 李华
网站建设 2026/9/24 20:41:19

8、数字取证工具与准备工作详解

数字取证工具与准备工作详解 1. 取证 dd 变体工具 原始的 dd 工具并非为取证场景设计,缺少一些必要特性。随后,基于 dd 开发了一些工具,以包含所需的取证特性,如: - 加密哈希 - 改进的错误处理 - 日志记录 - 性能增强 - 验证检查 - 进度监控(取证成像可能需要数小…

作者头像 李华
网站建设 2026/9/24 22:19:07

如何快速掌握drawio-desktop:免费绘图工具完整指南

如何快速掌握drawio-desktop&#xff1a;免费绘图工具完整指南 【免费下载链接】drawio-desktop Official electron build of draw.io 项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop 想要一款功能强大且完全免费的绘图工具吗&#xff1f;drawio-des…

作者头像 李华