python对接百度云车牌识别

注册百度智能云,选择产品服务。

https://console.bce.baidu.com/
在这里插入图片描述

每天赠送200次,做开发测试足够了。
在这里插入图片描述

在应用列表复制 AppID , API Key ,Secret Key 备用。
在这里插入图片描述

SDK下载地址

https://ai.baidu.com/sdk#ocr
在这里插入图片描述

下载SDK文件,解压,复制aip文件夹到项目的根目录下备用。
在这里插入图片描述

车牌识别服务费用

在这里插入图片描述

运行代码后的效果图
在这里插入图片描述

实现代码

# 包的本质上是一个包含了一个或多个模块的文件夹,其中还包含一个特殊的文件 __init__.py
# 要注意引入第三方的包的路径: 包名.模块名 =》 aip.ocr
from aip.ocr import AipOcrfrom PIL import Image, ImageDraw, ImageFont
import numpy as np
import cv2# 修改成自己的
APP_ID = 'xxxxxxxxx'
API_KEY = 'xxxxxxxxxxxxx'
SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxx'
# 创建客户端对象
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 建立连接的超时时间,单位为毫秒
client.setConnectionTimeoutInMillis(5000)
# 通过打开的连接传输数据的超时时间,单位为毫秒
client.setSocketTimeoutInMillis(5000)""" 解决中文乱码 """
def cv2ImgAddText(img, text, left, top, textColor, textSize):# 判断是否OpenCV图片类型if (isinstance(img, np.ndarray)):img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))# 创建一个可以在给定图像上绘图的对象draw = ImageDraw.Draw(img)# 字体的格式fontStyle = ImageFont.truetype("simsun.ttc", textSize, encoding="utf-8")# 绘制文本draw.text((left, top), text, textColor, font=fontStyle)# 转换回OpenCV格式return cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)""" 读取文件内容 """
def getFileContent(filePath):with open(filePath, 'rb') as fp:return fp.read()""" 在图片上画出方框并写上文字 """
def imgDraw(imgPath):image_content = getFileContent(imgPath)# 百度返回的结果res = client.licensePlate(image_content)if res is not None:car_number = res['words_result']['number']car_color = res['words_result']['color']print('车牌号码:' + car_number)print('车牌颜色:' + car_color)# 车牌位置信息location = res['words_result']['vertexes_location']start_x = location[0]['x']start_y = location[0]['y']end_x = location[2]['x']end_y = location[2]['y']# 读取图片img = cv2.imread(imgPath)# 画长方形(图像矩阵,左上角坐标,右下角坐标,颜色,线条粗细)cv2.rectangle(img, (start_x, start_y), (end_x, end_y), (0, 0, 255), 5)# 在图片上绘制文字txt = car_number + ' ' + car_color# cv2ImgAddText(图像, 文字内容, 字体左边开始位置, 字体上面开始位置, (R, G, B), 字体大小)img_txt = cv2ImgAddText(img, txt, start_x+50, start_x+100, (0, 255, 0), 30)# 显示效果cv2.imshow('img', img_txt)# 等待按任意键关闭窗口cv2.waitKey(0)cv2.destroyAllWindows()else:print('车牌识别失败!')if __name__ == '__main__':# 图片路径imgPath = './output/car2.jpg'imgDraw(imgPath)

在代码中要注意引入百度云车牌识别SDK包的路径,否则会报错:ModuleNotFoundError: No module named ‘ocr’ 或者 ImportError: attempted relative import with no known parent package
在这里插入图片描述

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

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

相关文章

python+scrapy电影推荐系统可视化分析系统

在本系统的开发过程中,研究学习了如何使用scrapy、Django这两大框架,体会到了python语言的“极简至优美”,我接触到了这几个框架的前沿知识,对自己可以站在巨人的肩膀上兴奋不已。我在系统开发过程中,经历了由抓取数据…

67、yolov8目标检测和旋转目标检测算法batchsize=1/6部署Atlas 200I DK A2开发板上

基本思想:需求部署yolov8目标检测和旋转目标检测算法部署atlas 200dk 开发板上 一、转换模型 链接: https://pan.baidu.com/s/1hJPX2QvybI4AGgeJKO6QgQ?pwd=q2s5 提取码: q2s5 from ultralytics import YOLO# Load a model model = YOLO("yolov8s.yaml") # buil…

Linux之ssh服务

目录 一、ssh简介 ssh组件 二、配置文件 三、相关的命令 ssh scp 四、密钥认证 一、ssh简介 远程登陆linux用的就是ssh服务 ssh服务特点就是数据会机密传输 ssh组件 组件:openssh 服务器:sshd 默认端口:22 二、配置文件 /etc/ssh/ss…

如何在CentOS安装StackEdit Markdown编辑器并实现无公网IP远程访问使用

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 前言1. ubuntu安装VNC2. 设置vnc开机启动3. windows 安…

镭速如何解决UDP传输不通的问题

我们之前有谈到过企业如果遇到UDP传输不通的情况,常见的一些解决方式,同时也介绍了一站式企业文件传输方式-镭速相关优势,如果在实际应用中,若镭速UDP传输出现不通的情况,需要按照网络通信的一般性排查方法以及针对镭速…

男裤哪个品牌质量好?一次教你学会怎么选男生裤子

相信大家每次在选衣服和裤子的时候都希望能够买到好看质量又好的,但现在市面却太多不同的品牌,并且质量也参差不齐,十分容易选择到一些质量不好的裤子。那么今天就专门对现在市面热门的几款男装裤子进行测评,并根据具体结果进行推…

漏洞挖掘 | 某医院小程序支付漏洞+越权

某医院小程序存在支付漏洞和越权查看他人身份证,手机号,住址等信息 一个医院线上的小程序 登陆后点击个人信息,抓包,放到repQeter模块, 修改strUserID参数可以越权查看别人信息 放intruder模块可以跑数据,…

【好书推荐4】图机器学习

【好书推荐4】图机器学习 写在最前面编辑推荐内容简介作者简介目录前言/序言本书读者内容介绍 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能…

考研数学|《880题》怎么刷效率最高呢?

我觉得880题至少要刷两遍才能吃透其中的精华 如果已经做完了1800题基础部分,并且正确率还不错,那就可以做880题了,但是做880题之前,我的建议是,先把1800题基础部分的错题再给过一遍,因为你现在做880题基础…

matlab中旋转矩阵函数

文章目录 matlab里的旋转矩阵、四元数、欧拉角四元数根据两向量计算向量之间的旋转矩阵和四元数欧拉角转旋转矩阵旋转矩阵转欧拉角旋转矩阵转四元数参考链接 matlab里的旋转矩阵、四元数、欧拉角 旋转矩阵dcmR四元数quatq[q0,q1,q2,q3]欧拉角angle[row,pitch,yaw] % 旋转矩阵…

记录Linux系统中vim同时开多个窗口编辑文件

在使用Linux进行文本编辑的时候,通常使用vim编辑器编辑文件,当然啦,vim也可以创建文件,如果只是一个一个创建,只需要vim创建即可,但是如何一次性打开多个窗口编辑呢? 目录 1、目标:…

泛域名站群,泛域名程序

泛域名站群是一种利用大量类似的泛域名来建立多个网站,并通过这些网站链接到主网站,以提升主网站的排名和流量的策略。泛域名站群通常包含大量的子域名,这些子域名指向不同的页面,但它们的内容大部分是重复或相似的,目…