调用华为API实现车牌识别

目录

  • 1.作者介绍
  • 2.华为云车牌识别
    • 2.1车牌识别技术
    • 2.2华为云OCR
  • 3.实验过程
    • 3.1获取API密钥
    • 3.2Python代码实现
    • 3.3实验结果
  • 参考链接

1.作者介绍

袁明懿,男,西安工程大学电子信息学院,2023级研究生
研究方向:机器视觉与人工智能
电子邮件:3224116451@qq.com
吴思雨,女,西安工程大学电子信息学院,2023级研究生
研究方向:机器视觉与人工智能
电子邮件:3224116451@qq.com

2.华为云车牌识别

2.1车牌识别技术

车牌识别技术(Vehicle License Plate Recognition, VLPR)是计算机视频图像识别技术在车辆牌照识别中的一种重要应用。它通过先进的图像处理、模式识别和人工智能技术,实现对车辆图像的采集、车牌位置的定位、车牌字符的分割和识别,最终给出车牌的真实号码。在高速公路车辆管理,停车场管理和城市交通中得到广泛应用。
在这里插入图片描述
OCR(光学字符识别)技术作为一种将图像中的文字转换为计算机可编辑文本的技术,为车牌识别提供了基础的技术支持。车牌识别是OCR技术在交通管理领域的应用之一,车牌识别通过利用OCR技术的原理和方法,实现对车辆图像中车牌号码的自动提取和识别。
在这里插入图片描述

2.2华为云OCR

OCR以开放API的方式提供给用户,用户使用Python、Java等编程语言调用OCR服务API将图片识别成文字,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。

3.实验过程

3.1获取API密钥

1.搜索华为云或输入huaweiicloud.com访问华为云官网进入后搜索“文字识别”。
在这里插入图片描述
2.进入之后点击活动专区,点击“立即购买”。
在这里插入图片描述
3.在文字识别服务下面选择“车牌识别PKG 1千 包年”。

在这里插入图片描述
4.选择购买之后在控制台,我的凭证里面添加访问密钥。描述可填“车牌识别”。点击确定之后会生成并下载csv文件,打开csv文件可获得Access Key Id和Secret Access Key。
在这里插入图片描述
5.在页面右上角进入个人中心,在服务列表中选择文字识别OCR。
在这里插入图片描述
6.进入文字识别的控制台之后,在“证件类”里选择车牌识别,点击开通管理。
在这里插入图片描述
7.进入API explore,填写项目id和图像的base64编码或者url链接,即可得到结果。
在这里插入图片描述

3.2Python代码实现

1.首先安装必要的包。

pip install huaweicloudsdkcore
pip install huaweicloudsdkocr

2.代码实现

# coding: utf-8import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkocr.v1.region.ocr_region import OcrRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkocr.v1 import *
import base64
#### base64编码格式
def image_to_base64(self):with open(self, 'rb') as f:base64_data = base64.b64encode(f.read())      #  将图像转换为 base64数据格式return base64_data
if __name__ == "__main__":ak = ""                        # 设置用户的AKsk = ""                        # 设置用户的SKimg = image_to_base64('')       # 设置图片路径# 设置请求的AKSKcredentials = BasicCredentials(ak, sk)# 创建Ocr客户端client = OcrClient.new_builder() \.with_credentials(credentials) \.with_region(OcrRegion.value_of("cn-north-4")) \.build()try:# 创建请求request = RecognizeLicensePlateRequest()# 设置请求体request.body = LicensePlateRequestBody(image=img)# 发送请求response = client.recognize_license_plate(request)# 打印响应print(response)except exceptions.ClientRequestException as e:# 打印错误信息print(e.status_code)print(e.request_id)print(e.error_code)print(e.error_msg)

3.3实验结果

程序运行后,得到车牌的车牌号,颜色,位置信息,以及置信度等信息。
在这里插入图片描述

并通过测试绿牌车辆,以及较远距离车辆图像,均获得了准确的结果,得到置信度均为1.0。
绿色车牌结果如下所示
在这里插入图片描述
较远距离车辆结果如下所示
在这里插入图片描述

参考链接

[1]链接: http://t.csdnimg.cn/7Tml5
[2]链接: http://t.csdnimg.cn/9y7Ei

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

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

相关文章

Unity2D计算两个物体的距离

1.首先新建一个场景并添加2个物体 2.创建一个脚本并编写代码 using UnityEngine;public class text2: MonoBehaviour {public GameObject gameObject1; // 第一个物体public GameObject gameObject2; // 第二个物体void Update(){// 计算两个物体之间的距离float distance Vec…

【Redis】为什么是单线程?为什么这么快呢?

Redis为什么是单线程?为什么这么快? Redis,作为一款高性能的内存数据库,广泛应用于各类高并发、高性能的场景中。一个常见的问题是,为什么Redis是单线程的?以及在单线程的情况下,Redis为什么还…

港科夜闻 | 香港科大与香港科大(广州)合推红鸟跨校园学习计划,共享教学资源,促进港穗学生交流学习...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与香港科大(广州)合推“红鸟跨校园学习计划”,共享教学资源,促进港穗学生交流学习。香港科大与香港科大(广州)6月14日共同宣布推出“红鸟跨校园学习计划”,以进一步加强两校学…

Linux 上的 TTY 是什么?

在 Linux 系统中,TTY(Teletypewriter 的缩写)是一个代表终端设备的概念。TTY 是 Linux 操作系统中的一个重要部分,它允许用户与系统进行交互。下面详细讲述 TTY 的相关知识。 TTY 的历史背景 TTY 最早起源于电传打字机&#xff…

【stm32】——基于I2C协议的OLED显示

目录 一、I2C通讯 二、U8G2 1.U8g2简介 2.CubexMX配置 3.移植U8g2 4.编写移植代码 三、显示汉字 四、字体滚动 五、图片显示 总结 一、I2C通讯 IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设…

零代码本地搭建AI大模型,详细教程!普通电脑也能流畅运行,中文回答速度快,回答质量高

这篇教程主要解决: 1). 有些读者朋友,电脑配置不高,比如电脑没有配置GPU显卡,还想在本地使用AI; 2). Llama3回答中文问题欠佳,想安装一个回答中文问题更强的AI大模型。 3). 想成为AI开发者,开…

智能识别技术在旧物回收系统中的优化策略

内容概要: 智能识别技术在旧物回收系统中的应用已经取得了显著的成效,但如何进一步优化其性能以提高回收效率和准确性,仍是我们需要探讨的问题。本文将针对智能识别技术在旧物回收系统中的优化策略进行探讨。 一、算法优化 算法是智能识别…

【好书分享第十一期】深入Rust标准库(文末送书)

文章目录 作者简介概括书籍特色知名大V推荐带来的成长受众人群内容脉络粉丝福利 作者简介 任成珺 拥有超过20年的系统级程序架构及开发经验,至今仍活跃在开发一线。 王晓娜 博士,任职于中国兵器工业集团公司北方科技信息研究所,善于深入浅出…

实战篇:数据展示与报表生成

实战篇:数据展示与报表生成 数据展示与报表生成简介 数据展示是将数据以表格、图形或其他形式展示给用户的过程。报表生成则涉及创建包含特定数据集的文档,通常用于打印或分发。 项目结构 继续使用之前讨论的Flask项目结构。 第1步:数据…

操作符详解(2)

上次我们讲了算术操作符 加减乘除取模 除号 如果你想得到整数,那么两边必须是整数,如果你想得到浮点数,那么你的操作数的两端必须有一个是浮点数 而取模% 两边必须是整数,返回的是整除后的余数 然后我们还讲了左移和右移操作…

Meta-Llama-3-8B 部署

Meta-Llama-3-8B 模型文件地址 LLaMA-Factory 仓库地址 Download Ollama conda create -n llama8b_ python3.10 -y conda activate llama8b pip install -r requirements.txt -i https://pypi.mirrors.ustc.…

搭建Python虚拟环境(二):venv和virtualenv

下面继续详细介绍各种创建虚拟环境的方式 使用 venv 创建Python虚拟环境 在Python开发中,虚拟环境是一个非常重要的概念。它允许我们为每个项目创建独立的环境,这样可以避免不同项目之间的依赖包冲突。venv 是Python用于创建虚拟环境的标准库之一。本文…

网络安全练气篇——OWASP TOP 10

1、什么是OWASP? OWASP(开放式Web应用程序安全项目)是一个开放的社区,由非营利组织 OWASP基金会支持的项目。对所有致力于改进应用程序安全的人士开放,旨在提高对应用程序安全性的认识。 其最具权威的就是“10项最严重…

浔川身份证号码查询——浔川python科技社

Python获取身份证信息 公民身份号码是每个公民唯一的、终身不变的身份代码,由公安机关按照公民身份号码国家标准编制。每一个居民只能拥有一个唯一的身份证,它是用于证明持有人身份的一种法定证件。 身份证包含了个人的一些重要信息,比如&am…

2024年哪4种编程语言最值得学习?看JetBrains报告

六个月前,编程工具界的大牛JetBrains发布了他们的全球开发者年度报告。 小吾从这份报告中挑出了关于全球程序员过去一年使用编程语言的情况和未来的采纳趋势,总结出2024年最值得学习的四种编程语言。一起来看看吧。 JetBrains在2023年中开始,就向全球的编程达人们发出了问卷…

Vue32-挂载流程

一、init阶段 生命周期本质是函数。 1-1、beforeCreate函数 注意: 此时vue没有_data,即:data中的数据没有收到。 1-2、create函数 二、生成虚拟DOM阶段 注意: 因为没有template选项,所以,整个div root都…

论文学习day01

1.自我反思的检索增强生成(SELF-RAG) 1.文章出处: Chan, C., Xu, C., Yuan, R., Luo, H., Xue, W., Guo, Y., & Fu, J. (2024). RQ-RAG: Learning to Refine Queries for Retrieval Augmented Generation. ArXiv, abs/2404.00610. 2.摘…

Nginx基础理论

Nginx最为最受欢迎的反向代理和负载均衡服务器,被广泛的应用于互联网项目中。这不仅仅是因为Nginx本身比较轻量,更多的是得益于Nginx的高性能特性,以及支持插件化开发,为此,很多开发者或者公司基于Nginx开发出了众多的…

Mysql都有哪些数据类型?

MySQL 支持多种数据类型,这些数据类型定义了存储在数据库中的数据的种类。以下是 MySQL 中常见的数据类型分类及其示例: 数值类型 整数类型 TINYINT:非常小的整数,带符号的范围是 -128 到 127,无符号的范围是 0 到 …

监控易监测对象及指标之:全面监控MongoDB 5数据库

随着企业数据量的持续增长,数据库的性能和稳定性对于保障业务连续性至关重要。MongoDB 5作为一款流行的NoSQL数据库,以其灵活的文档模型和强大的扩展能力,在各类业务场景中发挥着关键作用。 为了确保MongoDB 5数据库的稳定运行和高效性能&…