news 2026/4/23 13:53:08

百度 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_num3(int),multi_detect"true"(string),需严格按照百度 API 文档要求传值。

  4. 异常处理:

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

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

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

B站视频下载神器:一键保存4K高清大会员专属内容

B站视频下载神器&#xff1a;一键保存4K高清大会员专属内容 【免费下载链接】bilibili-downloader B站视频下载&#xff0c;支持下载大会员清晰度4K&#xff0c;持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为B站精彩视频无法离线…

作者头像 李华
网站建设 2026/4/23 8:52:11

为什么你的向量数据库总是卡顿?5个关键设置彻底解决性能问题

为什么你的向量数据库总是卡顿&#xff1f;5个关键设置彻底解决性能问题 【免费下载链接】qdrant Qdrant - 针对下一代人工智能的高性能、大规模向量数据库。同时提供云端版本 项目地址: https://gitcode.com/GitHub_Trending/qd/qdrant Qdrant向量数据库作为下一代AI应…

作者头像 李华
网站建设 2026/4/23 8:53:43

OpenCode AI编程助手正则搜索终极指南:从入门到精通

OpenCode AI编程助手正则搜索终极指南&#xff1a;从入门到精通 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手&#xff0c;模型灵活可选&#xff0c;可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 在当今快节奏的开发环境…

作者头像 李华
网站建设 2026/4/23 8:52:32

4、开放数据的采用与宏观经济信息解析

开放数据的采用与宏观经济信息解析 1. 开放数据采用现状 开放政府数据应用和服务的衡量指标多样,如参与的政府数量、发布或下载的数据集数量等。早期研究发现,多数开放政府数据应用和服务由个人、自由职业者和研究人员主要为移动设备构建,使用单一静态数据集,且免费提供,…

作者头像 李华
网站建设 2026/4/23 8:52:11

19、数据所有权与个人数据隐私的微观经济洞察

数据所有权与个人数据隐私的微观经济洞察 1. 数据所有权的核心问题 在当今数字化时代,一个重要的问题浮出水面:谁拥有数据?这个问题的答案对于探讨价值创造至关重要。数据通常涉及不同数据利益相关者之间各种权利的复杂分配。当考虑到数据驱动服务的网络结构和相互关联性时…

作者头像 李华