资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

接口说明

通用物体和场景识别

该请求用于通用物体和场景识别,即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片中的多个物体及场景标签。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用通用物体和场景识别 """
client.advancedGeneral(image)

""" 如果有可选参数 """
options = {}
options["baike_num"] = 5

""" 带参数调用通用物体和场景识别 """
client.advancedGeneral(image, options)

通用物体和场景识别 请求参数详情

参数名称 是否必选 类型 默认值 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
baike_num string 0 返回百科信息的结果数,默认不返回

通用物体和场景识别 返回数据参数详情

字段 是否必选 类型 说明
log_id uint64 唯一的log id,用于问题定位
result_num unit32 返回结果数目,及result数组中的元素个数
result arrry(object) 标签结果数组
+keyword string 图片中的物体或场景名称
+score float 置信度,0-1
+root string 识别结果的上层标签,有部分钱币、动漫、烟酒等tag无上层标签
+baike_info object 对应识别结果的百科词条名称
++baike_url string 对应识别结果百度百科页面链接
++image_url string 对应识别结果百科图片链接
++description string 对应识别结果百科内容描述

通用物体和场景识别 返回示例

{
  "log_id": 327863200205075661,
  "result_num": 5,
  "result": [{
    "score": 0.967622,
    "root": "公众人物",
    "baike_info": {
      "baike_url": "http://baike.baidu.com/item/%E6%96%B0%E5%9E%A3%E7%BB%93%E8%A1%A3/8035884",
      "image_url": "http://imgsrc.baidu.com/baike/pic/item/91ef76c6a7efce1b27893518a451f3deb58f6546.jpg",
      "description": "新垣结衣(Aragaki Yui),1988年6月11日出生于冲绳县那霸市。日本女演员、歌手、模特。毕业于日出高中。2001年,参加《nicola》模特比赛并获得最优秀奖。2005年,因出演现代剧《涩谷15》而作为演员出道。2006年,参演校园剧《我的老大,我的英雄》;同年,她还出版了个人首本写真集《水漾青春》。2007年,她从日出高校毕业后开始专注于演艺发展,并发表个人首张音乐专辑《天空》;同年,新垣结衣还主演了爱情片《恋空》,而她也凭借该片获得了多个电影新人奖项。2010年,主演爱情片《花水木》。2011年,主演都市剧《全开女孩》。2012年,相继参演现代剧《Legal High》、剧情片《剧场版新参者:麒麟之翼》。2013年,主演都市剧《飞翔情报室》。2014年,她主演了剧情片《黎明的沙耶》。2016年,主演爱情喜剧《逃避虽可耻但有用》,并凭借该剧获得了多个电视剧女主角奖项。2017年,主演爱情片《恋爱回旋》,凭借该片获得第60届蓝丝带奖最佳女主角;同年11月,她还凭借医疗剧《Code Blue 3》获得第94届日剧学院赏最佳女配角。"
    },
    "keyword": "新垣结衣"
  },
  {
    "score": 0.716067,
    "root": "人物-人物特写",
    "keyword": "头发"
  },
  {
    "score": 0.421281,
    "root": "商品-穿戴",
    "keyword": "围巾"
  },
  {
    "score": 0.22347,
    "root": "商品-五金",
    "keyword": "拉链"
  },
  {
    "score": 0.028031,
    "root": "商品-穿戴",
    "keyword": "脖套"
  }]
}

菜品识别

该请求用于菜品识别。即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片的菜品名称、卡路里信息、置信度。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用菜品识别 """
client.dishDetect(image)

""" 如果有可选参数 """
options = {}
options["top_num"] = 3
options["filter_threshold"] = "0.7"
options["baike_num"] = 5

""" 带参数调用菜品识别 """
client.dishDetect(image, options)

菜品识别 请求参数详情

参数名称 是否必选 类型 默认值 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
top_num string 返回预测得分top结果数,默认为5
filter_threshold string 默认0.95,可以通过该参数调节识别效果,降低非菜识别率.
baike_num string 0 返回百科信息的结果数,默认不返回

菜品识别 返回数据参数详情

字段 是否必选 类型 说明
log_id uint64 唯一的log id,用于问题定位
result_num unit32 返回结果数目,及result数组中的元素个数
result array() 菜品识别结果数组
+name string 菜名,示例:鱼香肉丝
+calorie float 卡路里,每100g的卡路里含量
+probability float 识别结果中每一行的置信度值,0-1
+baike_info object 对应识别结果的百科词条名称
++baike_url string 对应识别结果百度百科页面链接
++image_url string 对应识别结果百科图片链接
++description string 对应识别结果百科内容描述

菜品识别 返回示例

{
  "log_id": 7357081719365269362,
  "result_num": 5,
  "result": [
  {
    "calorie": "119",
    "has_calorie": true,
    "name": "酸汤鱼",
    "probability": "0.396031"
    "baike_info": {
      "baike_url": "http://baike.baidu.com/item/%E9%85%B8%E6%B1%A4%E9%B1%BC/1754055",
      "description": "酸汤鱼,是黔桂湘交界地区的一道侗族名菜,与侗族相邻的苗、水、瑶等少数民族也有相似菜肴,但其中以贵州侗族酸汤鱼最为有名,据考证此菜肴最早源于黎平县雷洞镇牙双一带。制作原料主要有鱼肉、酸汤、山仓子等香料。成菜后,略带酸味、幽香沁人、鲜嫩爽口开胃,是贵州“黔系”菜肴的代表作之一。这道菜通常先自制酸汤,之后将活鱼去掉内脏,入酸汤煮制。"
    }
  },
  {
    "calorie": "38",
    "has_calorie": true,
    "name": "原味黑鱼煲",
    "probability": "0.265432",

  },
  {
    "calorie": "144",
    "has_calorie": true,
    "name": "椒鱼片",
    "probability": "0.0998993"
  },
  {
    "calorie": "98",
    "has_calorie": true,
    "name": "酸菜鱼",
    "probability": "0.0701917"
  },
  {
    "calorie": "257.65",
    "has_calorie": true,
    "name": "柠檬鱼",
    "probability": "0.0471465"
  }]
}

logo商标识别

该请求用于检测和识别图片中的品牌LOGO信息。即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片中LOGO的名称、位置和置信度。当效果欠佳时,可以建立子库(在控制台创建应用并申请建库)并通过调用logo入口接口完成自定义logo入库,提高识别效果。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用logo商标识别 """
client.logoSearch(image)

""" 如果有可选参数 """
options = {}
options["custom_lib"] = "true"

""" 带参数调用logo商标识别 """
client.logoSearch(image, options)

logo商标识别 请求参数详情

参数名称 是否必选 类型 可选值范围 默认值 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
custom_lib string true - 返回自定义库
false - 返回自定义库+默认库的识别结果
false 是否只使用自定义logo库的结果,默认false:返回自定义库+默认库的识别结果

logo商标识别 返回数据参数详情

参数 类型 是否必须 说明 示例
log_id number 请求标识码,随机数,唯一 507499361
result_num number 返回结果数目,即:result数组中元素个数 2
result array 返回结果数组,每一项为一个识别出的logo -
+location object 位置信息(左起像素位置、上起像素位置、像素宽、像素高) {"left": 100,"top":100,"width":10,"height":10}
++left number 左起像素位置 100
++top number 上起像素位置 100
++width number 像素宽 100
++height number 像素高 100
+name string 识别的品牌名称 京东
+probability number 分类结果置信度(0--1.0) 0.8
+type number type=0为1千种高优商标识别结果;type=1为2万类logo库的结果;其它type为自定义logo库结果 1 (2万类的结果)

logo商标识别 返回示例

{
  "log_id": 843411868,
  "result_num": 1,
  "result": [
    {
      "type": 0,
      "name": "科颜氏",
      "probability": 0.99998807907104,
      "location": {
        "width": 296,
        "top": 20,
        "height": 128,
        "left": 23
      }
    }
  ]
}

logo商标识别—添加

使用入库接口请先在控制台创建应用并申请建库,建库成功后方可正常使用。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')
brief = "{\"name\": \"宝马\",\"code\":\"666\"}"

""" 调用logo商标识别—添加 """
client.logoAdd(image, brief)

logo商标识别—添加 请求参数详情

参数名称 是否必选 类型 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
brief string brief,检索时带回。此处要传对应的name与code字段,name长度小于100B,code长度小于150B

logo商标识别—添加 返回数据参数详情

参数 类型 是否必须 说明 示例
log_id number 请求标识码,随机数,唯一 507499361
cont_sign string 输入图片签名,可用于删除 -

logo商标识别—添加 返回示例

{
  "log_id": 972934653,
  "cont_sign": "217113248,419422301"
}

logo商标识别—删除

使用删除接口请先在控制台创建应用并申请建库,建库成功后先调用入库接口完成logo图片入库,删除接口用户在已入库的logo图片中删除图片。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用删除logo商标,传入参数为图片 """
client.logoDeleteByImage(image)

contSign = "8cnn32frvrr2cd901"

""" 调用删除logo商标,传入参数为图片签名 """
client.logoDeleteBySign(contSign)

logo商标识别—删除 请求参数详情

参数名称 是否必选 类型 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
cont_sign string 图片签名(和image二选一,image优先级更高)

logo商标识别—删除 返回数据参数详情

参数 类型 是否必须 说明 示例
log_id number 请求标识码,随机数,唯一 507499361

logo商标识别—删除 返回示例

{
  "log_id": 50488417
}

动物识别

该请求用于识别一张图片。即对于输入的一张图片(可正常解码,且长宽比适宜),输出动物识别结果

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用动物识别 """
client.animalDetect(image)

""" 如果有可选参数 """
options = {}
options["top_num"] = 3
options["baike_num"] = 5

""" 带参数调用动物识别 """
client.animalDetect(image, options)

动物识别 请求参数详情

参数名称 是否必选 类型 默认值 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
top_num string 6 返回预测得分top结果数,默认为6
baike_num string 0 返回百科信息的结果数,默认不返回

动物识别 返回数据参数详情

参数 类型 是否必须 说明
log_id uint64 唯一的log id,用于问题定位
result arrry(object) 识别结果数组
+name string 动物名称,示例:蒙古马
+score uint32 置信度,示例:0.5321
+baike_info object 对应识别结果的百科词条名称
++baike_url string 对应识别结果百度百科页面链接
++image_url string 对应识别结果百科图片链接
++description string 对应识别结果百科内容描述

动物识别 返回示例

{
  "log_id": 7392482912853822863,
  "result": [{
    "score": "0.993811",
    "name": "叉角羚",
    "baike_info": {
      "baike_url": "http://baike.baidu.com/item/%E5%8F%89%E8%A7%92%E7%BE%9A/801703",
      "description": "叉角羚(学名:Antilocapra americana):在角的中部角鞘有向前伸的分枝,故名。体型中等,体长1-1.5米,尾长7.5-10厘米,肩高81-104厘米,成体重36-60千克,雌体比雄体小;背面为红褐色,颈部有黑色鬃毛,腹部和臀部为白色,颊面部和颈部两侧有黑色块斑;毛被下面为绒毛,上覆以粗糙、质脆的长毛,由于某些皮肤肌的作用,能使其毛被呈不同角度,以利于保暖或散热。植食。叉角羚奔跑速度非常快,最高时速达100千米。一次跳跃可达3.5-6米。善游泳。夏季组成小群活动,冬季则集结成上百只的大群。为寻找食物和水源,一年中常进行几次迁移。性机警,视觉敏锐,能看到数千米外的物体。遇险时,臀部的白色毛能立起,向同伴告警。分布于北美洲。"
    }
  },
  {
    "score": "0.000289439",
    "name": "印度羚"
  },
  {
    "score": "0.000186248",
    "name": "藏羚羊"
  },
  {
    "score": "0.000147176",
    "name": "跳羚"
  },
  {
    "score": "0.000134434",
    "name": "驯鹿"
  },
  {
    "score": "9.86555e-05",
    "name": "高鼻羚羊"
  }]
}

植物识别

该请求用于识别一张图片。即对于输入的一张图片(可正常解码,且长宽比适宜),输出植物识别结果。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用植物识别 """
client.plantDetect(image)

""" 如果有可选参数 """
options = {}
options["baike_num"] = 5

""" 带参数调用植物识别 """
client.plantDetect(image, options)

植物识别 请求参数详情

参数名称 是否必选 类型 默认值 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
baike_num string 0 返回百科信息的结果数,默认不返回

植物识别 返回数据参数详情

参数 类型 是否必须 说明
log_id uint64 唯一的log id,用于问题定位
result arrry(object) 植物识别结果数组
+name string 植物名称,示例:吉娃莲
+score uint32 置信度,示例:0.5321
+baike_info object 对应识别结果的百科词条名称
++baike_url string 对应识别结果百度百科页面链接
++image_url string 对应识别结果百科图片链接
++description string 对应识别结果百科内容描述

植物识别 返回示例

{
  "log_id": 1705495792822072357,
  "result": [{
    "score": 0.99979120492935,
    "name": "莲",
    "baike_info": {
      "baike_url": "http://baike.baidu.com/item/%E8%8E%B2/2717141",
      "description": "莲(Nelumbo nucifera),又称荷、荷花、莲花、芙蕖、鞭蓉、水芙蓉、水芝、水芸、水旦、水华等,溪客、玉环是其雅称,未开的花蕾称菡萏,已开的花朵称鞭蕖,莲科,属多年生水生宿根草本植物,其地下茎称藕,能食用,叶入药,莲子为上乘补品,花可供观赏。是我国十大名花之一。是印度的国花。莲,双子叶植物,睡莲科。多年生挺水草本植物。根状茎横走,粗而肥厚,节间膨大,内有纵横通气孔道,节部缢缩。叶基生,挺出水面,盾形,直径30-90cm,波状边缘,上面深绿色,下面浅绿色。叶柄有小刺,长1-2m,挺出水面。花单生,直径10-25cm,椭圆花瓣多数,白色或粉红色;花柄长1-2m。花托在果期膨大,直径5-10cm,海绵质。坚果椭圆形和卵圆形,长1.5-2.0cm,灰褐色。种子卵圆形,长1.2-1.7cm,种皮红棕色。生于池塘、浅湖泊及稻田中。中国南北各省有自生或栽培,经济价值高。人们习惯上称种子为“莲子”、地下茎为“藕”、花托为“莲蓬”、叶为“荷叶”。"
    }
  },
  {
    "score": 0.00015144718054216,
    "name": "红睡莲"
  },
  {
    "score": 1.2172759852547e-05,
    "name": "白睡莲"
  },
  {
    "score": 6.305016540864e-06,
    "name": "延药睡莲"
  },
  {
    "score": 3.6133328649157e-06,
    "name": "华夏慈姑"
  }]
}

图像单主体检测

用户向服务请求检测图像中的主体位置。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用图像主体检测 """
client.objectDetect(image)

""" 如果有可选参数 """
options = {}
options["with_face"] = 0

""" 带参数调用图像主体检测 """
client.objectDetect(image, options)

图像主体检测 请求参数详情

参数名称 是否必选 类型 可选值范围 默认值 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
with_face string 0 - 不带人脸区域
1 - 带人脸区域
1 如果检测主体是人,主体区域是否带上人脸部分,0-不带人脸区域,其他-带人脸区域,裁剪类需求推荐带人脸,检索/识别类需求推荐不带人脸。默认取1,带人脸。

图像主体检测 返回数据参数详情

参数 类型 是否必须 说明 示例
log_id number 唯一的log id,用于问题定位 507499361
result object 裁剪结果 -
+left number 表示定位位置的长方形左上顶点的水平坐标 50
+top number 表示定位位置的长方形左上顶点的垂直坐标 60
+width number 表示定位位置的长方形的宽度 200
+height number 表示定位位置的长方形的高度 200

图像主体检测 返回示例

{
  "log_id": 895582300,
  "result": {
    "width": 486,
    "top": 76,
    "left": 134,
    "height": 394
  }
}

地标识别

该请求用于识别地标,即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片中的地标识别结果。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用地标识别 """
client.landmark(image)

地标识别 请求参数详情

参数名称 是否必选 类型 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式

地标识别 返回数据参数详情

参数 类型 是否必须 说明 示例
log_id number 唯一的log id,用于问题定位 507499361
result object 裁剪结果 -
+landmark string 地标名称,无法识别则返回空字符串 狮身人面像

地标识别 返回示例

{
  "log_id": 3450013152046070669,
  "result":
  {
    "landmark": "狮身人面像"
  }
}

果蔬识别

该请求用于识别果蔬类食材,即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片中的果蔬食材结果。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用果蔬识别 """
client.ingredient(image)

""" 如果有可选参数 """
options = {}
options["top_num"] = 3

""" 带参数调用果蔬识别 """
client.ingredient(image, options)

果蔬识别 请求参数详情

参数名称 是否必选 类型 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
top_num string 返回预测得分top结果数,如果为空或小于等于0默认为5;如果大于20默认20

果蔬识别 返回数据参数详情

字段 是否必选 类型 说明
log_id uint64 唯一的log id,用于问题定位
result object() 识别结果
result_num uint32 识别结果数
+name string 图像中的食材名称
+score double 得分,0-1

果蔬识别 返回示例

{
    "log_id": 1091287364,
    "result_num": 20,
    "result": [
        {
            "name": "非果蔬食材",
            "score": 0.99999988079071
        },
        {
            "name": "油菜",
            "score": 1.1175458780599e-8
        },
        {
            "name": "蛇果",
            "score": 7.2776291659693e-9
        },
        {
            "name": "国光苹果",
            "score": 5.6971951600815e-9
        },
        {
            "name": "海枣",
            "score": 4.2508210285064e-9
        },
        {
            "name": "琼瑶浆葡萄",
            "score": 4.1451895249622e-9
        },
        {
            "name": "京锐号辣椒",
            "score": 3.9915102334476e-9
        },
        {
            "name": "冬瓜",
            "score": 3.3611948779821e-9
        },
        {
            "name": "长江豆",
            "score": 2.9944848822794e-9
        },
        {
            "name": "黑加仑",
            "score": 2.7750137743254e-9
        },
        {
            "name": "面包果",
            "score": 2.3357531464541e-9
        },
        {
            "name": "椰子",
            "score": 1.9741890344704e-9
        },
        {
            "name": "美人瓜",
            "score": 1.9319581490151e-9
        },
        {
            "name": "莲藕",
            "score": 1.759222323372e-9
        },
        {
            "name": "黑奥林",
            "score": 1.7266311713726e-9
        },
        {
            "name": "芥菜",
            "score": 1.6180708994895e-9
        },
        {
            "name": "样芹菜",
            "score": 1.5472728653876e-9
        },
        {
            "name": "篙巴",
            "score": 1.4084827748562e-9
        },
        {
            "name": "花生",
            "score": 1.3972580870103e-9
        },
        {
            "name": "魁绿猕猴桃",
            "score": 1.3920842256709e-9
        }
    ]
}

红酒识别

该服务用于识别红酒标签,即对于输入的一张图片(可正常解码,长宽比适宜,且酒标清晰可见),输出图片中的红酒名称、国家、产区、酒庄、类型、糖分、葡萄品种、酒品描述等信息。可识别数十万中外常见红酒。 注意:图片中酒标要清晰可见,示例图片如下

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用红酒识别 """
client.redwine(image)

红酒识别 请求参数详情

参数名称 是否必选 类型 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式

红酒识别 返回数据参数详情

字段 是否必选 类型 说明
log_id uint64 请求标识码,随机数,唯一
result dict 识别结果
+hasdetail unit 判断是否返回详细信息(除红酒中文名之外的其他字段),含有返回1,不含有返回0
+wineNameCn string 红酒中文名,无法识别返回空,示例:波斯塔瓦经典赤霞珠品丽珠半甜红葡萄酒
+wineNameEn string 红酒英文名,hasdetail = 0时,表示无法识别,该字段不返回,示例:Bostavan Classic Cabernet
+countryCn string 国家中文名,hasdetail = 0时,表示无法识别,该字段不返回,示例:摩尔多瓦
+countryEn string 国家英文名,hasdetail = 0时,表示无法识别,该字段不返回,示例:Moldova
+regionCn string 产区中文名,hasdetail = 0时,表示无法识别,该字段不返回,示例:波尔多
+regionEn string 产区英文名,hasdetail = 0时,表示无法识别,该字段不返回,示例:Bordeaux
+subRegionCn string 子产区中文名,hasdetail = 0时,表示无法识别,该字段不返回,示例:梅多克
+subRegionEn string 子产区英文名,hasdetail = 0时,表示无法识别,该字段不返回,示例:Medoc
+wineryCn string 酒庄中文名,hasdetail = 0时,表示无法识别,该字段不返回,示例:波斯塔瓦酒庄
+wineryEn string 酒庄英文名,hasdetail = 0时,表示无法识别,该字段不返回,示例:Vinaria Bostavan
+classifyByColor string 酒类型,hasdetail = 0时,表示无法识别,该字段不返回,示例:红葡萄酒
+classifyBySugar string 糖分类型,hasdetail = 0时,表示无法识别,该字段不返回,示例:半甜型
+color string 色泽,hasdetail = 0时,表示无法识别,该字段不返回,示例:宝石红色
+grapeCn string 葡萄品种,可能有多种葡萄,hasdetail = 0时,表示无法识别,该字段不返回,示例:品丽珠;赤霞珠
+grapeEn string 葡萄品种英文名,可能有多种葡萄,hasdetail = 0时,表示无法识别,该字段不返回,示例:Cabernet Franc;Cabernet Sauvignon
+tasteTemperature string 品尝温度,hasdetail = 0时,表示无法识别,该字段不返回,示例:6-11℃
+description string 酒品描述,hasdetail = 0时,表示无法识别,该字段不返回,示例:葡萄酒呈深宝石红色,具有香料、香草和新鲜水果的果香,酒体分明,口感畅顺,果香横溢,单宁软化程度高,让你回味无穷

红酒识别 返回示例

{
  "log_id": 3450013152046070669,
  "result":
  {
    "wineNameCn": "银色高地阙歌干红",
    "hasdetail":0
  }
}

货币识别

识别图像中的货币类型,以纸币为主,正反面均可准确识别,接口返回货币的名称、代码、面值、年份信息;可识别各类近代常见货币,如美元、欧元、英镑、法郎、澳大利亚元、俄罗斯卢布、日元、韩元、泰铢、印尼卢比等。 注意:图片中货币要清晰可见,示例图片如下

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用货币识别 """
client.currency(image)

货币识别 请求参数详情

参数名称 是否必选 类型 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式

货币识别 返回数据参数详情

字段 是否必选 类型 说明
log_id uint64 请求标识码,随机数,唯一
result dict 识别结果
+hasdetail unit 判断是否返回详细信息(除货币名称之外的其他字段),含有返回1,不含有返回0
+currencyName string 货币名称,无法识别返回空,示例:新加坡元
+currencyCode string 货币代码,hasdetail = 0时,表示无法识别,该字段不返回,示例:SGD
+currencyDenomination string 货币面值,hasdetail = 0时,表示无法识别,该字段不返回,示例:50元
+year string 货币年份,hasdetail = 0时,表示无法识别,该字段不返回,示例:2004年

货币识别 返回示例

{
  "log_id": 4247844653395235754,
  "result": {
    "currencyName": "美元",
    "hasdetail": 1,
    "currencyCode": "USD",
    "year": "2001年",
    "currencyDenomination": "50美元"
  }
}

自定义菜品识别

该请求用于入库自定义的单菜品图,实现上传多菜品图的精准识别,返回具体的菜名、位置、置信度信息 。自定义菜品识别包括三个子接口:单菜品入库、菜品检索、菜品删除。

注意:在正式使用之前,请先在控制台创建应用,并在产品服务/图像识别-应用列表/应用详情最下方建库后,自定义菜品识别下的所有子接口方可使用。

自定义菜品-入库

该接口实现单张菜品图片入库,入库时需要同步提交图片及可关联至本地菜品图库的摘要信息(具体变量为brief,brief可传入图片在本地标记id、图片url、图片名称等)

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用自定义菜品识别-入库 传入参数为图片"""
client.customDishesAddImage(image)

自定义菜品识别-入库 请求参数详情

参数 是否必选 类型 可选值范围 说明
image string - Base64编码字符串,以图片文件形式请求时必填。(支持图片格式:jpg,bmp,png,jpeg-1574500464364.),图片大小不超过4M。最短边至少300px,最长边最大3000px。注意:图片需要base64编码、去掉编码头后再进行urlencode。
brief string - 菜品名称摘要信息,检索时带回,不超过256B。由于检索后需要与本地数据库关联,建议brief可传入图片在本地标记id、图片url、图片名称等,如"brief": "{"菜名":"鱼香肉丝"}"

自定义菜品识别 返回数据参数详情

字段 是否必选 类型 说明
log_id uint64 请求标识码,随机数,唯一
result dict 识别结果
cont_sign string 输入图片签名

自定义菜品识别 返回示例

{
  "log_id": 4247844653395235754,
  "result": {
    "cont_sign": "222,333",
  }
}

自定义菜品-检索

在已自建菜品库并入库的情况下,该接口实现单菜品/多菜品的识别.

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用自定义菜品识别-检索 传入参数为图片"""
client.customDishesSearch(image)

自定义菜品识别-检索 请求参数详情

参数 是否必选 类型 可选值范围 说明
image string - Base64编码字符串,以图片文件形式请求时必填。图片大小不超过4M。最短边至少300px,最长边最大3000px。注意:图片需要base64编码、去掉编码头后再进行urlencode。

自定义菜品识别-检索 返回数据参数详情

字段 是否必选 类型 说明
log_id uint64 唯一的log id,用于问题定位
result_num uint32 检索结果数
result object[] 识别结果数组
+location object 菜品在图片中的位置
++left int 水平坐标(左上角原点)
++top int 垂直坐标(左上角原点)
++width int 宽度
++height int 高度
+dishes object[] 识别结果数组
++cont_sign string 图片签名,可以用来删除图片或问题定位
++score float 图片相关性,0-1
++brief string 入库菜品时添加的brief信息

自定义菜品识别-检索 返回示例

{
    "result_num": 2,
    "result": [
        {
            "location": {
                "left": 127,
                "top": 70,
                "width": 103,
                "height": 101
            },
            "dishes": [
                {
                    "score": 0.47976872324944,
                    "brief": "{\"name\":\"baicai\",\"id\":333}",
                    "cont_sign": "475124309,1080176642"
                }
            ]
        },
        {
            "location": {
                "left": 312,
                "top": 163,
                "width": 78,
                "height": 79
            },
            "dishes": [
                {
                    "score": 0.013810452073812,
                    "brief": "{\"name\":\"doufu\",\"id\":333}",
                    "cont_sign": "475124309,1080176642"
                }
            ]
        }
    ],
    "log_id": 1837888624
}

自定义菜品识别-删除

该接口实现已入库菜品图片的删除操作。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用自定义菜品识别-删除 传入参数为图片"""
client.customDishesDeleteImage(image)


""" 调用自定义菜品识别-删除 传入参数为图片签名"""
contSign = "4261577168"
client.customDishesDeleteContSign(contSign)

自定义菜品识别-删除 请求参数详情

参数 是否必选 类型 可选值范围 说明
image string - Base64编码字符串(和cont_sign二选一),以图片文件形式请求时必填。图片大小不超过4M。最短边至少300px,最长边最大3000px。注意:图片需要base64编码、去掉编码头后再进行urlencode。
cont_sign string - 图片签名(和image二选一,image优先级更高)

自定义菜品识别 返回数据参数详情

字段 是否必选 类型 说明
log_id uint64 请求标识码,随机数,唯一

自定义菜品识别 返回示例

{
  "log_id": 4247844653395235754,
  "result": {
    "log_id": 1837888624
  }
}

图像多主体检测

检测出图片中多个主体,并给出位置、标签和置信得分。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用自定义菜品识别-图像多主体检测 传入参数为图片"""
client.multiObjectDetect(image)

图像多主体检测 请求参数详情

参数 是否必选 类型 可选值范围 说明
image true string - 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少64px,最长边最大4096px,长宽比3:1以内,支持jpg/png/bmp格式 。注意:图片的base64编码是不包含图片头的,如(data:image/jpg;base64,)去掉编码头后再进行urlencode。

图像多主体检测 返回数据参数详情

字段 是否必选 类型 说明
log_id uint64 唯一的log id,用于问题定位
result object数组 返回结果
+name string 图片标签
+score float 置信度得分
+location object数组 图中目标主体的检测框位置信息
++left uint32 表示定位位置的长方形左上顶点的水平坐标
++top uint32 表示定位位置的长方形左上顶点的垂直坐标
++width uint32 表示定位位置的长方形的宽度
++height uint32 表示定位位置的长方形的高度

图像多主体检测 返回示例

{
  "log_id": 4160887777964368179,
    "result": [
        {
            "score": 0.8241143226623535,
            "name": "果蔬生鲜",
            "location": {
                "width": 89,
                "top": 113,
                "left": 383,
                "height": 204
            }
        },
        {
            "score": 0.8606756329536438,
            "name": "家居家纺",
            "location": {
                "width": 112,
                "top": 105,
                "left": 139,
                "height": 203
            }
        },
        {
            "score": 0.6238403916358948,
            "name": "食品饮料",
            "location": {
                "width": 67,
                "top": 125,
                "left": 491,
                "height": 176
            }
        },
        {
            "score": 0.10546552389860153,
            "name": "文化娱乐",
            "location": {
                "width": 48,
                "top": 183,
                "left": 231,
                "height": 95
            }
        },
        {
            "score": 0.7283627986907959,
            "name": "家居家电",
            "location": {
                "width": 72,
                "top": 89,
                "left": 285,
                "height": 244
            }
        }
    ]
}

组合接口API

提供一个API接口,同时调用多个模型服务。支持图像识别的多个接口:通用物体和场景识别、图像单主体检测、动物识别、植物识别、logo识别-检索、果蔬识别、自定义菜品识别-检索、菜品识别、红酒识别、货币识别、地标识别、图像多主体检测等12个模型服务的调用。可通过入参灵活指定需要调用的模型服务,传入图像,返回指定模型的识别结果。

  • 组合服务接口根据请求参数确定要使用的模型服务类型,具体的请求参数和返回结果见下方描述。
  • 图像识别相关接口同时提供独立的服务接口,针对每个模型的出入参,可参考百度AI开放平台官网每个独立服务接口的文档。
""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')
scenes = ['animal']
""" 调用组合接口API 传入参数为图片, 数组"""
client.combinationByImage(image, scenes)

""" 调用自组合接口API 传入参数为图片url, 数组"""
imageUrl ="https://www.x.com/sample.jpg"
client.combinationByImage(imageUrl, scenes)

组合接口API请求参数详情

参数 类型 是否必须 说明
image string 图像数据,base64编码,示例如:/9j/4AAQSkZJRgABAQEPMpJkR0FdXVridlPy/9k=
imgUrl string 图像Url,不能与image并存,不需要urlEncode,示例如:https://aip.bdstatic.com/portal-pc-node/dist/1591263471100/images/technology/imagerecognition/general/1.jpg
scenes array 指定本次调用的模型服务,以字符串数组表示。元素含义如下:
advanced_general:通用物体和场景识别
object_detect:图像单主体检测
multi_object_detect:图像多主体检测
animal:动物识别
plant:植物识别
logo_search:logo识别-检索
ingredient:果蔬识别
dish_search:自定义菜品识别-检索
dishs:菜品识别
red_wine:红酒识别
currency:货币识别
landmark:地标识别
示例如:“scenes”:[“currency”,”animal”,”plant”]
scenesConf jsonObject 对特定服务,支持的个性化参数,若不填则使用默认设置。jsonObject说明:

key为要设置入参的服务类型,可取值同scenes字段,例如:
advanced_general:通用物体和场景识别
object_detect:图像单主体检测

value为各模型服务个性化参数,详情请参照下文或百度AI开放平台官网“图像识别具体接口文档

组合接口API 返回数据参数详情

字段 类型 是否必须 说明
log_id uint64 唯一的log id,用于问题定位。
result object 返回结果json串,其内包含要调用的各个模型服务的返回结果。
advanced_general object 「通用物体和场景识别」服务返回结果。请参照“通用物体和场景识别接口文档
object_detect object 「图像单主体检测」服务返回结果。请参照“图像单主体检测接口文档
multi_object_detect object 「图像多主体检测」服务返回结果。请参照“图像多主体检测接口文档
animal object 「动物识别」服务返回结果。请参照“动物识别接口文档
plant object 「植物识别」服务返回结果。请参照“植物识别接口文档
logo_search object 「logo识别-检索」服务返回结果。请参照“logo识别-检索接口文档)”
ingredient object 「果蔬识别」服务返回结果。请参照“果蔬识别接口文档
dish_search object 「自定义菜品识别-检索」服务返回结果。请参照“自定义菜品识别-检索接口文档
dishs object 「菜品识别」服务返回结果。请参照“菜品识别接口文档
red_wine object 「红酒识别」服务返回结果。请参照“红酒识别接口文档
currency object 「货币识别」服务返回结果。请参照“货币识别接口文档
landmark object 「地标识别」服务返回结果。请参照“地标识别接口文档

返回示例

  • 成功响应示例:
{
    "result": {
        "plant": {
            "result": [
                {
                    "score": 0.4343205690383911,
                    "name": "非植物"
                }
            ],
            "log_id": 1888121902459717818
        },
        "animal": {
            "result": [
                {
                    "score": "0.71102",
                    "name": "松鼠猴"
                },
                {
                    "score": "0.0548481",
                    "name": "卷尾猴"
                },
                {
                    "score": "0.0444465",
                    "name": "蜘蛛猴"
                },
                {
                    "score": "0.041044",
                    "name": "金丝猴"
                },
                {
                    "score": "0.0377901",
                    "name": "长尾猴"
                },
                {
                    "score": "0.0176039",
                    "name": "长臂猿"
                }
            ],
            "log_id": 7358927584635575930
        }
    },
    "log_id": 15904950726810006
}

  • 失败响应示例:
{
    "log_id": 15904942500190005,
    "error_msg": "service not support",
    "error_code": 216102
}
  • 错误码说明
错误码 错误信息 描述
415 not support the media type 请求格式错误,请检查请求参数代码
216101 not enough param 参数不足
216102 service not support 输入了不支持的底层服务类型
216500 unknown error 未知错误
282801 image and imgUrl are empty image和imgUrl均为空
282802 either image and imgUrl has value image和imgUrl只能有一个有值
282804 download image error 图片下载失败
282000 logic internal error 业务逻辑层错误

车辆识别

该请求用于检测一张车辆图片的具体车型。即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片的车辆品牌及型号。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用车辆识别 """
client.carDetect(image)

""" 如果有可选参数 """
options = {}
options["top_num"] = 3
options["baike_num"] = 5

""" 带参数调用车辆识别 """
client.carDetect(image, options)

车辆识别 请求参数详情

参数名称 是否必选 类型 默认值 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
top_num string 返回预测得分top结果数,默认为5
baike_num string 0 返回百科信息的结果数,默认不返回

车辆识别 返回数据参数详情

字段 是否必选 类型 说明
log_id uint64 唯一的log id,用于问题定位
color_result string 颜色
result car-result() 车型识别结果数组
+name string 车型名称,示例:宝马x6
+score double 置信度,示例:0.5321
+year string 年份
+baike_info object 对应识别结果的百科词条名称
++baike_url string 对应识别结果百度百科页面链接
++image_url string 对应识别结果百科图片链接
++description string 对应识别结果百科内容描述
location_result string 车在图片中的位置信息

车辆识别 返回示例

{
  "log_id": 4086212218842203806,
  "location_result": {
    "width": 447,
    "top": 226,
    "height": 209,
    "left": 188
  },
  "result": [{
    "baike_info": {
      "baike_url": "http://baike.baidu.com/item/%E5%B8%83%E5%8A%A0%E8%BF%AAChiron/20419512",
      "description": "布加迪Chiron是法国跑车品牌布加迪出品的豪华超跑车。配置四涡轮增压发动机,420 公里每小时,有23种颜色的选择,售价高达260万美元。"
    },
    "score": 0.98793351650238,
    "name": "布加迪Chiron",
    "year": "无年份信息"
  },
  {
    "score": 0.0021970034576952,
    "name": "奥迪RS5",
    "year": "2011-2017"
  },
  {
    "score": 0.0021096928976476,
    "name": "奥迪RS4",
    "year": "无年份信息"
  },
  {
    "score": 0.0015581247862428,
    "name": "奥迪RS7",
    "year": "2014-2016"
  },
  {
    "score": 0.00082337751518935,
    "name": "布加迪威航",
    "year": "2004-2015"
  }],
  "color_result": "颜色无法识别"
}

车辆检测

传入单帧图像,检测图片中所有机动车辆,返回每辆车的类型和坐标位置,可识别小汽车、卡车、巴士、摩托车、三轮车5大类车辆,并对每类车辆分别计数,可返回含有统计值和检测框的渲染结果图,支持指定不规则区域的车辆统计。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用车辆检测 """
client.vehicleDetect(image)

""" 如果有可选参数 """
options = {}
options["show"] = "false"
options["area"] = "x1,y1,x2,y2,x3,y3...xn,yn"

""" 带参数调用车辆检测 """
client.vehicleDetect(image, options)

车辆检测 请求参数详情

参数名称 是否必选 类型 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
area string 只统计该区域内的车辆数,缺省时为全图统计。
逗号分隔,如‘x1,y1,x2,y2,x3,y3...xn,yn',按顺序依次给出每个顶点的x、y坐标(默认尾点和首点相连),形成闭合多边形区域。
服务会做范围(顶点左边需在图像范围内)及个数校验(数组长度必须为偶数,且大于3个顶点)。只支持单个多边形区域,建议设置矩形框,即4个顶点。坐标取值不能超过图像宽度和高度,比如1280的宽度,坐标值最大到1279

车辆检测 返回数据参数详情

字段 是否必选 类型 说明
vehicle_num object 检测到的车辆数目
+car int 小汽车数量
+truck int 卡车数量
+bus int 巴士数量
+motorbike int 摩托车数量
+tricycle int 三轮车数量
vehicle_info object[] 每个框的具体信息
+location object 跟踪到的车辆检测框位置
++left int 车辆检测框左坐标
++top int 车辆检测框顶坐标
++width int 车辆检测框宽度
++height int 车辆检测框高度
+ID int 车辆的ID编号
+type string 车辆类型
image string 结果图,含跟踪框和统计值(渲染jpg图片byte内容的base64编码,得到后先做base64解码再以字节流形式imdecode)

车辆检测 返回示例

未检测到任何车辆:

{
    "vehicle_num":
    {
        "car":0,
        "truck":0,
        ...
        "tricycle":0
    },
    "vehicle_info":[]
}

检测到2辆小汽车、1辆卡车:

{
    "vehicle_num":
    {
        "car":2,
        "truck":1,

        ...

        "tricycle":0

    },

    "vehicle_info":
    [
        {
            "ID":0
            "location":
            {
                "left": 100,
                "top": 200,
                "width": 200,
                "height": 400,
             }
            "type": "car"
        },
        {
            "ID": 1
            "location":
            {
                "left": 400,
                "top": 200,
                "width": 200,
                "height": 400,
             }
            "type": "car"
         },
         {
            "ID": 2
            "location":
            {
                "left": 600,
                "top": 200,
                "width": 300,
                "height": 400,
             }
            "type": "truck"
         }
    ]
}

车辆外观损伤识别

针对常见的小汽车车型,传入单帧图像,识别车辆外观受损部件及损伤类型,支持32种车辆部件、5大类外观损伤。同时可输出损伤的数值化结果(长宽、面积、部件占比),支持单图多种损伤的识别。

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('example.jpg')

""" 调用车辆外观损伤识别 """
client.vehicleDamage(image)

车辆外观损伤识别 请求参数详情

参数名称 是否必选 类型 说明
image string 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式

车辆外观损伤识别 返回数据参数详情

字段 是否必选 类型 说明
log_id uint32 请求标识码,随机数,唯一;用于排查问题
result object 识别结果
+description string 检验图片效果是否满足识别要求,包含车辆检测、图片内容过滤两部分
1、图片符合要求时,返回very good,返回示例:"Very good【车辆局部特写图】【1.000000】"
2、图片不符合要求时,显示检验不通过的描述信息:
1)没检测到车辆,返回示例:"No car detected !"
2)检测到了车辆,但图片内容未通过校验,返回描述信息【前端过滤类别】【概率值】,返回示例:"Failed【散落部件】【0.303969】"
+damage_info object[] 部件损伤信息
++parts string 汽车零部件名称,共计支持32种零部件
++type unit32 损伤类别,共计支持5类外观损伤;无损伤则返回“正常” 。注:如果全图无损伤,则整个返回结果为空;某个部件的type为“正常”仅表示该部件无损伤
++probability float 概率打分
++numeric_info object[] 损伤的数值化输出结果,如果有多处损伤,则有多个object;损伤的部件需拍摄完整,才能输出数值化结果,否则只返回部件名称和损伤类别,不输出数值化信息
+++length float 损伤区域的长,单位厘米
+++width float 损伤区域的宽,单位厘米
+++area float 损伤区域的面积,为实际面积,不是单纯的长*宽
+++ratio float 损伤区域面积相对于部件面积的占比,= 损伤区域面积 / 部件区域面积,均为实际面积,不是单纯的长*宽

车辆外观损伤识别 返回示例

图片不满足识别需求,未检测到汽车:

    {
      "description":"No car detected !",
      "damage_info":[]
    }

图片不满足识别需求,检测到汽车,但未通过图片内容校验:

    {
      "description":"Failed[散落部件][0.303969]",
      "damage_info":[]
    }

图片满足识别需求,正常返回,不包含数值化输出结果,有两处损伤:

    {
      "description":"Very good[车辆局部特写图][1.000000]",
      "damage_info":[
      {
        "parts":前保险杠,
        "probability":89,
        "type":刮擦
      },
      {
        "parts":左前叶子板,
        "probability":74,
        "type":凹陷
      }
      ]
    }

图片满足识别需求,正常返回,包含数值化输出结果,有两处损伤:

    {
      "description":"Very good[车辆局部特写图][1.000000]",
      "damage_info":[
      {
        "numeric_info":[
        {
          "area":3.540100097656250,
          "height":5.260000228881836,
          "ratio":0.04069080576300621,
          "width":1.139999985694885
        }
        ],
        "parts":前保险杠,
        "probability":95,
        "type":刮擦,
        "numeric_info":[
        {
          "area":2.418999910354614,
          "height":2.750,
          "ratio":0.08458041399717331,
          "width":1.460000038146973
        }
        ],
        "parts":左前叶子板,
        "probability":84,
        "type":刮擦
      }
      ]
    }
上一篇
快速入门
下一篇
错误信息