基于springboot+vue调用百度ai实现车牌号识别功能

百度车牌号识别官方文档

结果视频演示

后端代码

private String getCarNumber(String imagePath, int count) {// 请求urlString url = "https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate";try {byte[] imgData = FileUtil.readFileByBytes(imagePath);String imgStr = Base64Util.encode(imgData);String imgParam = URLEncoder.encode(imgStr, "UTF-8");String param = "image=" + imgParam;String result = HttpUtil.post(url, accessToken, param);log.info("车牌号识别结果,result:{}", result);JSONObject resultObj = JSONObject.parseObject(result);JSONObject wordsResult = resultObj.getJSONObject("words_result");return wordsResult.getString("number");} catch (Exception e) {log.error("车牌号识别异常,图片地址:{}", imagePath);log.error(e.getMessage(), e);if (count >= 3) {log.error("车牌号识别异常,已重试{}次,强制退出", count);return "";}try {Thread.sleep(200);} catch (InterruptedException ex) {throw new RuntimeException(ex);}count ++;return getCarNumber(imagePath, count);}}

前端代码

<el-row :gutter="10"><el-col :span="24"><el-uploadclass="upload-demo"drag:action="carNumberAction"accept="image/*"list-type="picture":on-success="uploadSuccess"><el-icon class="el-icon--upload"><upload-filled /></el-icon><div class="el-upload__text">Drop file here or <em>click to upload</em></div><template #tip><div class="el-upload__tip">jpg/png files with a size less than 500kb</div></template></el-upload></el-col><el-col :span="24"><p style="text-align: center; font-size: 30px; font-weight: bold;">车牌号码为:{{carNumber}}</p></el-col></el-row>
let carNumber = ref('xxxx')const uploadSuccess = async (response, uploadFile, uploadFiles) => {if (response.code !== 0) {proxy.msg.error(response.msg)return}carNumber.value = response.data
}

运行结果

视频演示

基于springboot+vue调用百度api的车牌号识别功能

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python进阶】探秘装饰器:揭开简洁与强大的神秘面纱

引言 在Python的世界里&#xff0c;有一种魔法般的高级特性——装饰器&#xff08;Decorators&#xff09;&#xff0c;它就像一块块功能各异的积木&#xff0c;能够让我们的代码变得更加灵活、优雅且易于维护。今天&#xff0c;让我们一同走进装饰器的殿堂&#xff0c;探索其…

R语言随机抽取数据,并作两组数据间t检验,并保存抽取的数据,并绘制boxplot

前提&#xff1a;接着上述R脚本输出的seed结果来选择应该使用哪个seed比较合理&#xff0c;上个R脚本名字&#xff1a; “5utr_计算ABD中Ge1和Lt1的个数和均值以及按照TE个数小的进行随机100次抽样.R” 1.输入数据&#xff1a;“5utr-5d做ABD中有RG4和没有RG4的TE之间的T检验.c…

[深度学习]yolov8+pyqt5搭建精美界面GUI设计源码实现五

【简单介绍】 依托先进的目标检测算法YOLOv8与灵活的PyQt5界面开发框架&#xff0c;我们倾力打造出了一款集直观、易用与功能强大于一体的目标检测GUI界面软件。通过深度融合YOLOv8在目标识别领域的出色性能与PyQt5的精美界面设计&#xff0c;我们成功推出了一款高效且稳定的软…

苍穹外卖项目-01(开发流程,介绍,开发环境搭建,nginx反向代理,Swagger)

目录 一、软件开发整体介绍 1. 软件开发流程 1 第1阶段: 需求分析 2 第2阶段: 设计 3 第3阶段: 编码 4 第4阶段: 测试 5 第5阶段: 上线运维 2. 角色分工 3. 软件环境 1 开发环境(development) 2 测试环境(testing) 3 生产环境(production) 二、苍穹外卖项目介绍 …

软件接口安全设计规范及审计要点

1.token授权安全设计 2.https传输加密 3.接口调用安全设计 4.日志审计里监控 5.开发测试环境隔离&#xff0c;脱敏处理 6.数据库运维监控审计 项目管理全套资料获取&#xff1a;软件开发全套资料_数字中台建设指南-CSDN博客

微信商家转账到零钱:实用指南,涵盖开通、使用与常见问题

商家转账到零钱是什么&#xff1f; 商家转账到零钱功能整合了企业付款到零钱和批量转账到零钱&#xff0c;支持批量对外转账&#xff0c;操作便捷。如果你的应用场景是单付款&#xff0c;体验感和企业付款到零钱基本没差别。 商家转账到零钱的使用场景有哪些&#xff1f; 这…

雷达新研社丨宏电雷达流量计助力河源灌区流量监测,赋能灌区现代化建设

灌区工程是农田灌溉排水的骨干网&#xff0c;是保障粮食安全的生命线。为了助力粮食安全和推动广东“百县千镇万村高质量发展工程”&#xff0c;广东省河源市连平县实施了灌区现代化改造工程。 本项目涵盖对约188公里的农田灌排渠道的感知监测站点建设&#xff0c;宏电股份作为…

SCI一区 | Matlab实现WOA-TCN-BiGRU-Attention鲸鱼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现WOA-TCN-BiGRU-Attention鲸鱼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现WOA-TCN-BiGRU-Attention鲸鱼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程序…

Antd Pagination 解决点击重置按钮后分页器不刷新问题

问题描述&#xff1a; 原本&#xff1a; 问题&#xff1a; 解决方法&#xff1a; const [resetPageSize, setResetPageSize] useState(10); setResetPageSize(10) pageSize{resetPageSize} pageSizeChange //初始化const [resetPageSize, setResetPageSize] useState(10);//…

Python 全栈体系【四阶】(二十一)

第五章 深度学习 二、推荐系统 2. 协同过滤及实现 2.1 基于物品的协同过滤推荐技术(评分) 2.2 基于物品的协同过滤算法(Item_CF) 2.3 基于用户的协同过滤算法&#xff08;user-based collaboratIve filtering&#xff09; 2.4 基本原理 2.5 ICF 计算物品之间的相似度&#…

应用层协议 - HTTP

文章目录 目录 文章目录 前言 1 . 应用层概要 2. WWW 2.1 互联网的蓬勃发展 2.2 WWW基本概念 2.3 URI 3 . HTTP 3.1 工作过程 3.2 HTTP协议格式 3.3 HTTP请求 3.3.1 URL基本格式 3.3.2 认识方法 get方法 post方法 其他方法 3.3.2 认识请求报头 3.3.3 认识请…

JVM之堆

堆的核心概述 一个JVM实例只存在一个堆内存&#xff0c;堆也是内存管理的核心区域。 Java堆区在JVM启动的时候即被创建&#xff0c;其空间大小也就确定了。是JVM管理的最大一块内存空间。 堆内存的大小是可以调节的。 《JVM虚拟机规范》规定&#xff0c;堆可以处于物理上不连…

Spring Boot 整合分布式搜索引擎 Elastic Search 实现 自动补全功能

文章目录 ⛄引言一、分词器⛅拼音分词器⚡自定义分词器 二、自动补全查询三、自动补全⌚业务需求⏰实现酒店搜索自动补全 四、效果图⛵小结 ⛄引言 本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;…

springboot swagger 接口文档分组展示

例如将 controller 分成四类&#xff0c;分别放到四个包下&#xff1a; xxx.xxx.xxx.controller.manage xxx.xxx.xxx.controller.client xxx.xxx.xxx.controller.authority xxx.xxx.xxx.controller.common SwaggerConfig.java&#xff1a; import io.swagger.annotations.Api…

机器学习笔记(2)—单变量线性回归

单变量线性回归 单变量线性回归(Linear Regression with One Variable)1.1 模型表示1.2 代价函数1.3 代价函数的直观理解1.4 梯度下降1.5 梯度下降的直观理解1.6 梯度下降的线性回归 单变量线性回归(Linear Regression with One Variable) ps:...今天很倒霉 一名小女孩悄悄地碎…

“人工智能+”国家战略会带来哪些机会?

一、“人工智能”战略背景 2024年的中国政府工作报告首次引入了“人工智能”的概念&#xff0c;这是国家层面对于人工智能技术和各行业深度融合的重要战略举措。这一概念的提出意味着我国将进一步深化人工智能技术的研发应用&#xff0c;并积极推动人工智能与经济社会各领域的…

使用npm仓库的优先级以及.npmrc配置文件的使用

使用npm仓库的优先级以及.npmrc配置文件的使用 概念如何设置 registry&#xff08;包管理仓库&#xff09;1. 设置项目配置文件2. 设置用户配置文件3. 设置全局配置文件4. .npmrc文件可以配置的常见选项 概念 npm&#xff08;Node Package Manager&#xff09;是一个Node.js的…

【P1328】[NOIP2014 提高组] 生活大爆炸版石头剪刀布

[NOIP2014 提高组] 生活大爆炸版石头剪刀布 题目背景 NOIP2014 提高组 D1T1 题目描述 石头剪刀布是常见的猜拳游戏&#xff1a;石头胜剪刀&#xff0c;剪刀胜布&#xff0c;布胜石头。如果两个人出拳一样&#xff0c;则不分胜负。在《生活大爆炸》第二季第 8 集中出现了一种…

《论文阅读》TSAM:一个因果情绪蕴含的双流注意模型 COLING 2022

《论文阅读》TSAM:一个因果情绪蕴含的双流注意模型 前言简介方法整体流程图上下文语句表示Two-Stream Attention Model(TSAM)原因预测实验结果前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《TSAM:…

excel 提取数字字符混合文本中的数字(快捷键ctrl+e)

ctrld 批量复制 CTRLE 智能复制 由此可见&#xff0c;智能提取汉字与数字混合中的数字方法 。若想分别提取3个数字&#xff0c;则继续在下列智能输入&#xff1a; 转换为数字即可相乘。 同理&#xff0c;字母也可提取