菜品修改 4.1 需求分析 4.2 前端页面分析 4.3 功能实现 瑞吉外卖-Day06 课程内容 文件上传下载 菜品新增 菜品分页查询 菜品修改 1. 菜品新增 2.1 需求分析 后台系统中可以管理菜品信息,通过 新增功能来添加一个新的菜品,在添加菜品时需要选择当前菜品所属的菜品分类,并且需要上传菜品图片,在移动端会按照菜品分类来展示对应的菜品信息 。 所以在新增菜品时,涉及到两个表: 表结构 说明 dish 菜品表 dish_flavor 菜品口味表 1). 菜品表:dish 2). 保存菜品基本信息 ; ②. 获取保存的菜品ID ; ③. 获取菜品口味列表,遍历列表,为菜品口味对象属性dishId赋值; ④. 根据ID查询菜品的基本信息 B. 根据菜品的ID查询菜品口味列表数据 C.
图像识别部分接口Java-API调用示例代码 https://gitee.com/xshuai/ai/不是完整的web项目大家没必要下载运行。 复制|下载相关代码即可 准备工作 已经创建了图像识别应用并且拿到apikey sercetkey得到AccessToken 代码中所用到的Java对象类所在目录https://gitee.com/xshuai /xshuai/ai/tree/master/AIDemo/src/main/java/com/xs/util/baidu 只需要Base64Util FileUtil HttpUtil三个哦 动物识别 &sercetkey生成的AccessToken"); System.out.println(plant.getResult().get(0).getName()); } /** * 动物识别 sercetkey生成的AccessToken"); // System.out.println(plant.getResult().get(0).getName()); } /** * 植物识别
hongshaodaiyu(红烧带鱼) 图片数:1290 juanxincairoupian(卷心菜肉片) 图片数:1276 mapodoufu(麻婆豆腐) 图片数:1290 youmaicai(炒油麦菜)
餐饮业盈利核心在于菜品与顾客。 什么样的菜系和种类会吸引更多的顾客,每个客户的就餐喜好是什么,不同时期什么样的菜品最为畅销,能否通过几种不同菜品的组合达到更好的效果,是否可预测未来一段时间内菜品原材料的采购份量? ① 点餐前,由有经验的服务员对顾客进行菜品推荐 ② 根据菜品的历史销量,对不同场景的数据进行分析(比如,夏天爱吃清凉,冬天爱吃滋补;雨天和晴天、是否节假日或者周围是否存在同类竞争对手),对菜品销量进行预测 ,帮助客户快速发现自己感兴趣的菜品,推荐合理菜品量,同时确保推荐给客户的菜品也是企业所希望的,实现餐饮消费者和餐饮企业的双赢。 :菜品名称、菜品单价、菜品成本、所属部门等; 菜品销量数据:菜品名称、销售日期、销售金额、销售份数; 原材料供应商资料及商品数据:供应商姓名、联系方式、商品名称;客户评价信息; 促销活动数据
01 实现过程 我们首先对托盘中的图像进行分割检测,将分离出来的图像再进行菜品图像识别。 通过OpenCV中的霍夫圆变换,先识别出在菜品托盘识别台上俯视拍摄的照片,经过OpenCV的处理和霍夫圆变换,根据摄像头像素对霍夫圆参数进行调整,根据菜盘(这里统一为类圆形厨具)形状,最终取得效果如图。 数据集准备及处理 菜品数据集 菜品识别通过飞桨实现,起初对每样菜品拍摄一张俯视图。菜品识别的实质就是图像分类。因此,每个分类只有一个训练图片是肯定不够的。 基于上述情况,团队通过图像增广处理来扩大每一分类的菜品的数据集,也减少了在实际环境下光线等环境因素对识别效果的影响。菜品图像来源自就近校园餐厅食堂。 在实际情况中,对菜品识别成功并计价后,下方摄像头停止识别,人脸识别摄像头开始检测人脸,识别并支付成功后,菜品摄像头继续识别,等待下一位用户的到来。
黑马瑞吉外卖之新增菜品 前端页面分析以及需求分析 后端菜品添加的功能开发 前端页面分析以及需求分析 接下来我们去完成新增菜品的功能。首先还是来看前端页面。 新增菜品这个功能自然是在菜品的前端功能界面。 首先来看这个界面,这里绑定了按钮,并传入add。 先运行项目来看这个界面,这是添加菜品的前端界面,可以看到这里有一些供选的数据选项。 我们可以在菜品分类这里获取到菜品分类。 当我们点击到这里这个框的时候就会出现下面这些供选的列表数据。 其实你通过这里可以非常清楚的看到,提交的信息划分为两类,一类是菜品,一类是口味。于是后端在保存提交的彩屏的时候需要去一方面保存菜品,一方面保存菜品关联口味这些数据。 还是十分容易设计的。 //这里首先保存了菜品, this.save(dishDto); Long dishId = dishDto.getId();//菜品id List<DishFlavor
题目:菜品信息查询 一、语言和环境 A 实现语言 C#,WinForms B 环境要求 Visual Studio 2012, mysql 二、要求 某饭店餐饮部的管理系统中要求使用Visual Studio 2008实现查询菜品信息的功能,mysql作为后台数据库,功能包括展示所有菜品信息及按菜系查询菜品信息的功能,程序运行界面如图-1所示: 图-1 三、数据库设计 数据库名称:MenuDB ,其他设置参见下表: 数据表名 menuInfo 实体名 菜品信息表 字段显示 字段名 数据类型 字段大小 备注和说明 菜品ID id int 主键,自增1 菜系名称 name varchar 10 个组合框控件(ComboBox)、1个数据视图控件(ListView)和1个上下文菜单控件(ContextMenuStrip),窗体显示位置为屏幕中央,窗体禁止最大化; 5、创建数据库连接,窗体初始状态显示全部菜品信息 6、实现“查询”按钮功能,根据用户选择的菜系显示菜品信息,并在数据列表视图中显示,如图-2所示: 图-2 7、如果没有满足条件的信息,提示用户,并清空列表视图中的数据,如图-3所示: 图-3 8、选中某条记录
请你根据输入的字符串,使用 if-elif-else 语句判断该菜品需要花费多少钱。 输入描述 输入一个菜品的字符串。 输出描述 输出该菜品的价格。 # 请你根据输入的字符串,使用 if-elif-else 语句判断该菜品需要花费多少钱。 # 输入: 输入一个菜品的字符串。 # 输出: 输出该菜品的价格。 # 接收用户输入的菜品字符串 dish = input("请输入菜品名称: ") # 使用 if-elif-else 语句判断菜品价格 if dish == "beef": price = 12 dish = input("请输入菜品名称: ") 使用 if-elif-else 语句判断菜品价格: 使用 if-elif-else 语句判断用户输入的菜品名称,然后确定该菜品的价格。 输出菜品价格: 最后,我们使用 print 语句输出菜品的价格。 print(f"{dish} 的价格是 {price} 元。")
本文将分享基于米尔MYD-LR3576边缘计算盒子部署菜品识别安卓Demo的实战经验。 菜品识别案例本章将详细介绍基于米尔MYD-LR3576边缘计算盒开发的菜品识别安卓Demo应用。该案例完整展示了从特征库构建到实时识别的全流程,充分体现了设备在端侧AI应用中的实用性与高性能。 4.1 特征注册特征注册是构建可扩展菜品识别系统的关键第一步,其目的是为系统创建一个本地的、可定制的菜品特征库。操作流程: 用户在Demo界面点击“特征注册”按钮后选择一个事先准备好的文件夹。 4.2 菜品识别Demo提供了三种识别模式,以适应不同场景下的需求:4.2.1 拍照识别用户可以直接调用设备摄像头,现场对菜品进行拍照。拍完后,系统立即对照片进行识别,并绘制识别结果。 找出相似度最高的已知菜品,并将其名称作为识别结果输出。
数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):5790 标注数量(xml文件个数):5790 标注数量(txt文件个数):5790 标注类别数:16 数据集编号:mbd.pub/o/bread/mbd-Zp6XlZ5v 标注类别名称:["Boiled_Fish_with_Sichuan_Peppercorns","Braised_Pork_Meatballs_in_Brown_Sauce","Buddha_Jumps_Over_the_Wall","Dongpo_Pork","Fish_with_Pickled_Cabbage_and_Chili","Husband_and_Wife_Lung_Slices","Kung_Pao_Chicken","Mapo_Tofu","Peking_Duck","Saliva_Chicken","Soup_Dumplings","Steamed_Sea_Bass","Sweet_and_Sour_Pork","Twice-Cooked_Pork","West_Lake_Vinegar_Fish","Yuxiang_Shredded_Pork"] 每个类别标注的框数: Boiled_Fish_with_Sichuan_Peppercorns 框数 = 310 Braised_Pork_Meatballs_in_Brown_Sauce 框数 = 394 Buddha_Jumps_Over_the_Wall 框数 = 344 Dongpo_Pork 框数 = 386 Fish_with_Pickled_Cabbage_and_Chili 框数 = 394 Husband_and_Wife_Lung_Slices 框数 = 294 Kung_Pao_Chicken 框数 = 413 Mapo_Tofu 框数 = 395 Peking_Duck 框数 = 466 Saliva_Chicken 框数 = 378 Soup_Dumplings 框数 = 445 Steamed_Sea_Bass 框数 = 401 Sweet_and_Sour_Pork 框数 = 421 Twice-Cooked_Pork 框数 = 400 West_Lake_Vinegar_Fish 框数 = 377 Yuxiang_Shredded_Pork 框数 = 396 总框数:6214 使用标注工具:labelImg 标注规则:对类别进行画矩形框 重要说明:暂无 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注
@TOC[1] Here's the table of contents: •一、菜品主材提取•二、数据结构•三、系统架构 基于图数据库的菜品推荐系统 本文来自社区专家pangguoming分享的图数据库应用案例 :使用Neo4j和简单分词算法实现菜品推荐系统[2],全文内容如下: 背景:本推荐系统基于一款硬件产品–旺小宝桌牌。 菜品推荐功能: 当客人在某商家使用桌牌点菜,提取该客人点菜的主材,当客人下一次在另外一家使用桌牌的商家点菜时,即为该客户推荐该商家对应主材的菜。 一、菜品主材提取 桌牌上的菜名由商家输入,存入到桌牌数据库中,当前已有的菜名去重后有约2万个。 •第一步:收集菜名,从数据库导出菜名。 三、系统架构 References [1] TOC: 基于图数据库的菜品推荐系统 [2] 使用Neo4j和简单分词算法实现菜品推荐系统: http://neo4j.com.cn/topic/5fdff8a8d4a2c822637223f8
@Override public DishDto getByIdWithFlavor(Long id) { // 先查询菜品的基本信息(根据id查询基本的菜品信息) "); } } 这样就做到了菜品信息和口味数据的回显。 我们在保存菜品口味的时候需要将对应的菜品口味关联到菜品。 值得注意的是我们的口味数据需要关联到菜品。 我们看菜品的基本信息是有id的,我们可以先将菜品添加保存,然后给DishFlavor设置对应的菜品id,那么我们就可以去用流的方式去遍历处理口味,然后将每个口味对应的关联菜品的id set上去。
黑马瑞吉外卖值菜品的启售卖、和停售 这一部分功能是课程没有去完成的,但是其实是比较简单的,我们需要去完成菜品的启售和停售。 可以从这里看到,这里其实对菜品信息的启用和禁用是根据前端这里scope.row的status返回值来进行设置停售和启售的。 所以其实在数据库的菜品的表的设计当中就有这样的一个字段。 所以我们需要知道它的来源。 然后我们继续往下看,去看前端写出的一些具体的方法。 其实这个状态的按钮就是绑定到了这里。 之前写单个菜品的启售以及停售就是这样的。 dishService.updateById(dish); return R_.success("状态修改成功"); } return R_.error("菜品状态修改异常
黑马瑞吉外卖之菜品der分页查询展示 前端界面分析 后端分页功能的开发 前端界面分析 这个页面从哪里找呢? 后端分页功能的开发 首先需要菜品的实体类。实体类的属性基本对应数据库字段。 我们按照数据库当中的字段就暂且这样写,其实后面咋页面展示的话,会有的数据没有展示出来。我们先这样去写。 private String name; //菜品分类id private Long categoryId; //菜品价格 private BigDecimal 然后放行下来到了页面展示出来,图片没有展示出来正常吗,是因为我们没有设置图片数据文件上传这些操作,它是具体的图片数据没有出来,但是我们的菜品分类却是空的。 属性是分页插件中表示分页中所有的数据的一个集合 List<Dish> records = dishPage.getRecords(); // item代表遍历出来的每一个菜品就是
危化品道路运输车辆识别抓拍依据公安机关内部网络设计开发的危化品运输车辆智能化监管综合服务平台,联接国内各地危化品驾驶人员数据库管理,马上把握危化品运输车辆的动态信息,马上预警信息风险性和安全隐患。 本市危化品道路运输企业应改造运输车辆汽车驾驶室、车子前后端、储存罐(车箱)的车辆视频机器设备,并具备及时传送作用。 危化品道路运输车辆识别抓拍软件、安全驾驶线路监管系统软件、安全运行预警信息和自食其力救助系统软件、专用型停车管理系统、货品解决管理方案系统软件、贷款逾期查验警报改正系统软件、驾驶培训文化教育管理方案系统软件和根监管系统软件 ,完成危化品运输车辆的整个过程、无空隙管理。
人脸识别已经逐渐渗透我们的日常生活,机器能够认准人脸,想必大家都有所耳闻;而另一类计算机视觉的应用,是进行商品识别。 当前新兴的一些无人零售店,背后就需要机器对商品进行自动识别,拍图购物、AR互动营销等场景,也运用了商品识别技术。 人工智能商业公司ImageDT,则利用商品图像识别技术提供2B商业服务,包括基于互联网图片大数据的商业分析,以及基于门店货架识别的渠道数据洞察,帮助消费品企业提升业绩。 研究组,则要克服各种疑难杂症,比如容易产生褶皱的软包装、商品侧面和背面的识别、遮挡和反光环境下的识别等等。 ? 目前,在实际生产环境下,已经达到95%以上的识别准确率。 与人脸识别相比,商品识别有更高的工程复杂度。ImageDT正在做的,就是实现这个庞大的AI工程,让机器能够自动地、准确地识别每一件商品。零售智能货架演示 ?
根据分类ID查询菜品列表: 异步请求,查询分类对应的菜品列表,功能我们已经实现了,但是我们之前查询的只是菜品的基本信息,不包含菜品的口味信息。所以在前端界面中,我们看不到选择菜品分类的信息。 2.3 代码开发 2.3.1 查询菜品方法修改 由于之前我们实现的根据分类查询菜品列表,仅仅查询了菜品的基本信息,未查询菜品口味信息,而移动端用户在点餐时,是需要选择口味信息的,所以我们需要对之前的代码实现进行完善 根据分类ID查询,查询目前正在启售的菜品列表 (已实现) B. 遍历菜品列表,并查询菜品的分类信息及菜品的口味列表 C. ,又有菜品,如果APP端选择的是套餐,就保存套餐ID(setmeal_id),如果APP端选择的是菜品,就保存菜品ID(dish_id) 对同一个菜品/套餐,如果选择多份不需要添加多条记录,增加数量 添加购物车 当添加的是菜品信息,而这个用户的购物车中当前并没有这个菜品时,添加一条数据,数量为1。 检查数据库数据,由于是菜品保存的是dish_id。
因此,“预制菜”应运而生,成为近年来的行业热点。预制菜怎么就火了呢?大体可以从以下几个方面来说。 一、首先,懒宅经济助推了预制菜行业高速发展,其给出的数据显示,消费预制菜的目的,排在前五名的分别是节省时间、美味、不喜欢做饭、健康、不会做饭。而预制菜消费人群,以一二线城市用户较多。 二、持续几年的疫情改变了大家的消费习惯,疫情常态化后,预制菜成为居家做饭的优选。 三、高端餐饮品牌纷纷入局预制菜 根据以上一些主要的原因使得预制菜得到了越来越多人的认可。 并且也有了太多的预制菜品牌供大家去选择,那么预制菜推荐哪些品牌。这里我们可以通过大数据分析给大家一些建议。这里可以使用python爬虫 以“预制菜”为关键词获取所有品牌信息。
我们可以看一下我们之前做的移动端效果: 我们点击哪一个分类,展示的就是该分类下的菜品, 其他菜品无需展示。 所以,这里面我们在缓存时,可以根据菜品的分类,缓存多份数据,页面在查询时,点击的是哪个分类,我们就查询该分类下的菜品缓存数据。 具体的实现思路如下: 1). 所以,我们需要在添加菜品、更新菜品时清空缓存数据。 1). 保存菜品,清空缓存 在保存菜品的方法save中,当菜品数据保存完毕之后,需要清空菜品的缓存。那么这里清理菜品缓存的方式存在两种: A. 更新菜品,清空缓存 在更新菜品的方法update中,当菜品数据更新完毕之后,需要清空菜品的缓存。这里清理缓存的方式和上述基本一致。 A. 因为对于修改操作,用户是可以修改菜品的分类的,如果用户修改了菜品的分类,那么原来分类下将少一个菜品,新的分类下将多一个菜品,这样的话,两个分类下的菜品列表数据都发生了变化。
今天是第一篇,算是个开胃菜吧,问题比较简单。 具体这道开胃菜怎么吃,就由你们来决定。答案和解析我将在明天晚上发出来。