调用华为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…

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

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

【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年的系统级程序架构及开发经验,至今仍活跃在开发一线。 王晓娜 博士,任职于中国兵器工业集团公司北方科技信息研究所,善于深入浅出…

操作符详解(2)

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

浔川身份证号码查询——浔川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.摘…

CCAA质量管理【学习笔记】​ 备考知识点笔记(一)

第一部分 质量管理体系相关标准 《质量管理体系基础考试大纲》中规定的考试内容: 3.1质量管理体系标准 a) 了解 ISO 9000 系列标准发展概况; b) 理 解 GB/T19000 标准中涉及的基本概念和质量管理原则; c) 理 解GB/T19000 标准中的部分…

论文阅读笔记:Instance-Aware Dynamic Neural Network Quantization

论文阅读笔记:Instance-Aware Dynamic Neural Network Quantization 1 背景2 创新点3 方法4 模块4.1 网络量化4.2 动态量化4.3 用于动态量化的位控制器4.4 优化 5 效果 论文:https://openaccess.thecvf.com/content/CVPR2022/papers/Liu_Instance-Aware_…

CDN绕过技术

DNS域名信息收集 简介 Dns域名信息的手机,需要收集域名对应IP,域名注册人,DNS记录,子域名等一系列与域名相关的信息。 Cdn技术简介 Cdn是一个内容分发网络,类似于dns服务器一样,用户发送数据直接发送到…

联想电脑电池只能充到80%,就不在充电了,猛一看以为坏了,只是设置了养护模式。

现在电池管理模式有三种: 1)常规 2)养护 3)快充 好久没有用联想的电脑了,猛一看,咱充到了80%不充了,难道电池是坏的?我们要如何设置才可以让其充电到100%呢? 右下角…

LLM大语言模型算法特训,带你转型AI大语言模型算法工程师(完结)

LLM大语言模型算法 与AI大语言模型算法工程师的联系 LLM(Large Language Model)大语言模型是指像GPT这样的大型自然语言处理模型,而AI大语言模型算法工程师则是负责开发和优化这些模型的专业人士。它们之间的联系可以从以下几个方面来理解&a…

【docker实战】使用代理的坑

在docker公共仓库被封禁的日子里,大多数人更喜欢使用镜像仓库代理源。 网上教程一大把,似乎不使用代理,就不会使用docker一样。 上图就是我设置的代理源镜像仓库。通常是设置/etc/docker/daemon.json这个文件实现的。 这样设置之后&#xff0…

Linux---​代码运行-程序的翻译过程

前言 我们平常用C/C语言写代码的时候,运行只是靠编译器,点一下运行按钮就会出现我们代码运行的结果,那我们的代码究竟是怎么得到最终结果的呢?还是非常值得我们去了解与学习的。 一、翻译过程 > 预处理 预处理功能主要包括宏…

java第二十三课 —— 继承

面向对象的三大特征 继承 继承可以解决代码复用,让我们的编程更加靠近人类思维,当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子…

虚拟淘宝-Virtual-Taobao论文解读(AAAI2019)

目录 1 论文简介 2 文章的主要贡献 3 文章技术的简要说明 4 技术的详细说明 4.1 GAN-SD:生成客户特征 4.2 MAIL:生成交互过程 4.3 ANC:动规范约束 5 实验设定及结果 6 结论 7 参考 1 论文简介 南京大学LAMDA团队的侍竞成、俞扬等…