swan.ai.dishClassify

解释:用于菜品识别,即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片的菜品名称、卡路里信息、置信度。
Web 态说明:受宿主环境限制,Web 态暂不支持 AI 能力相关接口。在 Web 态会做 打开百度 App 对应小程序页面 的降级处理。

方法参数

Object object

object参数说明

属性名类型必填默认值说明

image

String

-

图像资源地址

top_num

Number

5

返回结果 top n,默认值为 5

filter_threshold

Number

-

默认 0.95 ,可以通过该参数调节识别效果,降低非菜品识别率

success

Function

接口调用成功的回调函数

fail

Function

接口调用失败的回调函数

complete

Function

接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明

参数类型说明

log_id

Number

唯一的 log id ,用于问题定位

result_num

Number

返回结果数目,及 result 数组中的元素个数

result

Array

菜品识别结果数组

result 返回值说明

参数名参数类型说明

name

String

菜名,示例:鱼香肉丝

has_calorie

Boolean

菜品是否含有卡路里

calorie

String

卡路里,每 100g 的卡路里含量

probability

String

识别结果中每一行的置信度值,0-1

示例

跳转编辑工具

在开发者工具中打开

在 WEB IDE 中打开

扫码体验

代码示例

百度智能小程序

请使用百度APP扫码

图片示例

swan.ai.dishClassify - 图2

代码示例

  • JS
  1. Page({
  2. dishClassify() {
  3. swan.chooseImage({
  4. success: res => {
  5. let image = res.tempFilePaths[0];
  6. // AI系列的api有宿主使用限制,只可在百度App中使用,建议使用时加一层判断防止代码报未知错误
  7. let host = swan.getSystemInfoSync().host;
  8. if (host === 'baiduboxapp') {
  9. swan.ai.dishClassify({
  10. image,
  11. top_num: 5,
  12. filter_threshold: 0.95,
  13. success: res => {
  14. console.log('dishClassify res', res.result);
  15. },
  16. fail: err => {
  17. console.log('dishClassify res', err);
  18. }
  19. });
  20. }
  21. else {
  22. swan.showToast({
  23. title: '此api目前仅可在百度App上使用',
  24. icon: 'none'
  25. });
  26. }
  27. }
  28. });
  29. }
  30. });

返回值示例

  • JSON
  1. {
  2. "log_id": $log_id,
  3. "result_num": 5,
  4. "result": [
  5. {
  6. "calorie": "119",
  7. "has_calorie": true,
  8. "name": "小炒黄牛肉",
  9. "probability": "0.137841"
  10. },
  11. {
  12. "calorie": "22",
  13. "has_calorie": true,
  14. "name": "牛肉粒",
  15. "probability": "0.0870818"
  16. },
  17. {
  18. "calorie": "120",
  19. "has_calorie": true,
  20. "name": "炒牛肉",
  21. "probability": "0.0813015"
  22. },
  23. {
  24. "calorie": "109",
  25. "has_calorie": true,
  26. "name": "炒田螺",
  27. "probability": "0.0772957"
  28. },
  29. {
  30. "calorie": "117",
  31. "has_calorie": true,
  32. "name": "干煸豆角",
  33. "probability": "0.048997"
  34. }
  35. ]
  36. }