调用百度API实现菜品识别

news2025/1/19 17:20:51

调用百度API实现菜品识别

    • 1、作者介绍
    • 2、百度API菜品识别接口介绍
      • 2.1图像识别接口介绍
      • 2.2接口使用说明
        • 2.2.1请求示例
        • 2.2.2请求参数
    • 3、调用百度API流程
    • 4、代码实现

1、作者介绍

李延,男,西安工程大学电子信息学院,2022级研究生
研究方向:扬声器异常声
电子邮件:2534581066@qq.com

张思怡,女,西安工程大学电子信息学院,2022级研究生,张宏伟人工智能课题组
研究方向:机器视觉与人工智能
电子邮件:981664791@qq.com

2、百度API菜品识别接口介绍

2.1图像识别接口介绍

智能百度云提供一个API接口,同时调用多个模型服务。支持图像识别的多个接口:通用物体和场景识别、图像单主体检测、动物识别、植物识别、果蔬识别、自定义菜品识别-检索、菜品识别、红酒识别、货币识别、地标识别、图像多主体检测等12个模型服务的调用。可通过入参灵活指定需要调用的模型服务,传入图像,返回指定模型的识别结果。
该请求用于菜品识别。即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片的菜品名称、卡路里信息、置信度。

2.2接口使用说明

图像识别相关接口同时提供独立的服务接口,针对每个模型的出入参,可参考百度AI开放平台官网每个独立服务接口的文档。
组合服务接口根据请求参数确定要使用的模型服务类型,具体的请求参数见下方描述。

2.2.1请求示例

HTTP 方法:POST

请求URL: https://aip.baidubce.com/api/v1/solution/direct/imagerecognition/combination

URL参数

参数
access_token通过API Key和Secret Key获取的access_token,参考“Access Token获取”

Header如下

参数
Content-Typeapplication/json;charset=utf-8

2.2.2请求参数

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

3、调用百度API流程

  • 搜索百度智能云,注册并登录百度智能云。

在这里插入图片描述

  • 进入产品服务,选中图像识别。

在这里插入图片描述

  • 领取免费测试次数之后,选择创建应用。

在这里插入图片描述

  • 创建菜品识别应用完成之后,点击应用列表,获取Apple ID、API ID和Secret Key。

在这里插入图片描述

4、代码实现

4.1完整代码

from aip import AipImageClassify
""" 你的 APPID AK SK """
APP_ID = '33856933'
API_KEY = 'snKEPCzCuZwkUUIPYb4Qg1dg'
SECRET_KEY = 'rdUTSpT9AbnI2aFCepn9zUP3dLOB9Q7P'
APP_ID = '你的ID'
API_KEY = '你的Key'
SECRET_KEY = '你的SECRET_KEY'

AipImageClassify = AipImageClassify(APP_ID, API_KEY, SECRET_KEY)

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()
image = get_file_content('测试菜品path')

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

""" 调用菜品识别 """
AipImageClassify.dishDetect(image,options)

""" 带参数调用菜品识别 """
result = AipImageClassify.dishDetect(image,options)
print(result)
print(result["result"][0]["name"])

4.2测试菜品

在这里插入图片描述

4.3实验结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/556306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何禁用网络共享打印?

139端口是为“NetBIOS Session Service”提供的,主要用于提供Windows文件和打印机共享以及Unix中的Samba服务。在Windows中要在局域网中进行文件的共享,必须使用该服务。 开启139端口虽然可以提供共享服务,但是常常被攻击者所利用进行攻击&am…

chatgpt赋能Python-python_chi

Python Chi:掌握Python语言的关键 Python是一种面向对象、直译式计算机程序设计语言,被广泛应用于各种领域。无论是数据分析、人工智能、Web开发、网络爬虫还是科学计算,Python都扮演着重要的角色。而Python Chi则是Python语言中一个重要的方…

HQL函数--打地鼠游戏及WordCount案例分析及实现

1.打地鼠 uid,hit,m 1,1,0 1,2,1 1,3,1 1,4,1 1,5,0 1,6,0 1,7,1 2,1,1 2,2,1 2,3,1 2,4,1 2,5,1 3,1,1 3,2,1 3,3,1 3,4,0 3,5,0 3,6,1 3,7,0 3,8,1 create table tb_ds( uid int , -- 用户名 hit int , -- 第几次打地鼠 m int -- 是否命中 1命中 0 …

Request响应和Response对象

什么是Request响应和Response对象 实际上就是指Request对象和Response对象。 一个get或者post请求实际上就是一些有规律的字符串,Tomcat将这些字符串获取并且封装成一个可操作的对象。 通过Response对象可以设置响应数据,也就是Tomcat想要给浏览器发送…

Redis安全性详解

目录 ​编辑 Redis安全性详解 1.Redis的访问控制措施。 2.Redis的密码认证机制 3.Redis的绑定IP地址 4.Redis的网络ACL 5.Redis的防火墙或网络安全组 Redis安全性详解 Redis是一个快速、开源的内存数据库,被广泛用于缓存、消息传递和数据存储等场景。然而&a…

sql查询每组数据中时间最大的一条

sql查询每组数据中时间最大的一条 前言代码总结 前言 先来了解一下业务需求。博主好久没写过后端了,这一写就直接碰到我知识盲区了 我们简单还原一下,这里使用一个表模拟下 表的字段如下 表的内容如下,我们的需求就是取出相同name的数据中…

五、AOP(1)

一、AOP基本概念 1.什么是AOP 面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。不通过修改源代码方式添…

章节1:Burp Suite基本介绍

章节1:Burp Suite基本介绍 Burp [bɜ:p] Suite [swiːt] 01 Burp Suite基本介绍 官网介绍 https://portswigger.net/ 主要产品 Burp Suite培训和认证(Academy)研究院(Research)日报(Daily)…

win10下annoconda安装及更改镜像源,加速软件下载速度

1 annoconda下载 文件地址,选择版本下载https://repo.anaconda.com/archive/ 如下在win10版本: https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Windows-x86_64.exe 完成后根据向导安装。 2 清空镜像源,回到初始状态…

QT之动态加载下拉框(QComboBox)

QT之动态加载下拉框(QComboBox) 简介效果原理分析实现 简介 这两天遇到一个需求,需要下拉选项中动态加载一些数据,实现之后感觉挺有意思,特此记录一下。 效果 还是先看下效果,源码也放在文末了 原理分…

图形学中的抗锯齿讨论以及在unity中的应用

抗锯齿(Anti-Aliasing)是图形学中,很重要的一个部分。本文旨在做一些分析总结,并对平时不理解的细节,做了调研总结,但毕竟不是做GPU行家,所以有不对的地方,欢迎拍砖^^。 1 什么是锯齿 下图,是…

Linux 防火墙 Firewalld

firewalld概述 firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规…

《C++primer》5~6章总结

《CPrimer》 语句函数 语句 if else 就C而言,规定else与离它最近的尚未匹配的if匹配,从而消除程序的二义性,所以最好的处理方法就是养成习惯在if else 后面加一个花括号swirch搭配case关键字使用,case关键字和它对应的值一起被称…

PCB~地平面

地平面的特征 • 在同一块板子上,无线数字信号经常会有较高的数字逻辑,例如高增益的RF电路 • 屏蔽和接地对于接收端的设计是非常有效的 – 辐射在源端就应该被屏蔽掉 – 地平面电流应该回到源端 – 电源电流会通过最小电阻和电感路径回到源端 • 至少有…

Git的项目管理工具的使用

Git的项目管理工具的使用 为什么学习Git软件? 主流开发中,基于互联网的开发项目都会使用git进行资源管理 资源管理:人力资源 ​ 代码资源 : .java .c . js 等 ​ 文档资源 : doc.md ,pdf 等 git是最常用的scm软件(Soft…

Vivado综合属性系列之九 CLOCK_BUFFER_TYPE

目录 一、前言 二、CLOCK_BUFFER_TYPE ​ ​2.1 属性说明 ​ ​2.2 工程代码 ​ ​2.3 结果 一、前言 ​ ​在设计中,对于时钟端口驱动时钟单元时,工具会自动综合出全局时钟BUFG连接时钟源和时钟负载。当存在全局时钟BUFG不足或者因为某些…

3512. 最短距离总和

Powered by:NEFU AB-IN Link 文章目录 3512. 最短距离总和题意思路代码 3512. 最短距离总和 题意 给定一张带权无向完全图,设点的编号为 1,2,3,4,5…n(以邻接矩阵的形式给出)。 计算依次拿走第 i个点后,剩余所有点到其他点的最短…

从零开始Vue3+Element Plus后台管理系统(十二)——封装Axios,取消重复请求

在过往的项目中,大部分Axios在项目搭建时就直接二次封装好了,拿来即用。满足通用需求是没有问题的,但碰到一些特别的接口返回,弱网场景,特别的产品需求,就觉得简单的封装不够用了。 实际上Axios非常强大&a…

在Windows上安装Docker与k8s,完美亲测!

一、软件准备 1、去Docker官网下载Docker Desktop,并一键安装 2、下载k8s-for-docker-desktop包 git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git二、镜像源配置 配置docker的国内镜像,国外的网络下载可能比较慢 { …

在线考试系统设计

一.项目概述 使⽤⽬前较为流⾏的技术栈开发的⼀款界⾯设计友好、部署操作简单、代码层次结构清晰、⼆次开发上⼿便捷的在线考试平台。系统分为管理端和考⽣端,管理端集成了用户管理、⻆⾊管理、部⻔管理、菜单管理、数据字典、系统⽇志、定时任务、中间件…