python利用百度云接口实现车牌识别的示例


Posted in Python onFebruary 21, 2020

一个小需求---实现车牌识别。

目前有两个想法

1. 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以避免这些问题)

2. 自己实现车牌识别算法(复杂)

一开始准备使用百度云文字识别C++ SDK来做,发现需要准备curl、jsoncpp和OpenCV,并且curl和jsoncpp需要自己编译,很麻烦,所以换用了python来做,真的是顺畅简单。

1. 安装python环境(我用python3.7)

python官网下载地址:https://www.python.org/downloads/release/python-374/建议直接下载安装版installer(看对系统和位数)

python利用百度云接口实现车牌识别的示例

打开安装包无脑安装即可。安装好之后,看一下是否安装成功。

cmd

python --version

python利用百度云接口实现车牌识别的示例

2. 百度云SDK下载安装及创建应用

参考https://cloud.baidu.com/doc/OCR/s/pjwvxzmtc文档,安装python SDK

查看pip版本(python环境自带,但是要注意版本)

pip --version

python利用百度云接口实现车牌识别的示例

如果版本不合适,那么自行升级pip

pip install -U pip

安装baidu-aip

pip install baidu-aip

python利用百度云接口实现车牌识别的示例(安装成功的样子)

现在我们的百度云SDK就安装好了,下来创建应用

登录百度云(没账号注册一下)

python利用百度云接口实现车牌识别的示例

创建应用

python利用百度云接口实现车牌识别的示例

自己填一下

python利用百度云接口实现车牌识别的示例

现在我们就创建好了车牌识别的应用,点击应用列表可查看。

python利用百度云接口实现车牌识别的示例

这里的APPID、API KEY、Secret Key要在代码中使用。(注意不要泄漏)

3. 编码调接口,实现需求

python代码实现

'''
Statement
1. using the file
2. prepare a image path and call func "get_license_plate(filePath)"
3. you can get a json object
4. get the info from the pbject
example : 
{
  "log_id": 3583925545,
  "words_result": {
    "color": "blue",
    "number": "苏HS7766"
  }
}
'''

from aip import AipOcr
import json

"""get img"""
def get_file_content(filePath):
  with open(filePath, 'rb') as fp:
    return fp.read()

""" get licsense plate """
def get_license_plate(filePath):
  """ APPID AK SK """
  APP_ID = '********'
  API_KEY = '**************'
  SECRET_KEY = '******************'

  """ create client """
  client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

  image = get_file_content(filePath)

  """ 调用车牌识别 """
  res = client.licensePlate(image)
  return res


""" call example """
str = 'C:\\Users\\***\\Desktop\\big.jpg' """ 照片绝对地址 """
res = get_license_plate(str)
print('车牌号码:' + res['words_result']['number'])
print('车牌颜色:' + res['words_result']['color'])

代码分解

引入库

from aip import AipOcr """百度云SDK"""
import json """json库"""

创建客户端

""" APPID AK SK 自己创建的应用中的数据"""
APP_ID = '*******'
API_KEY = '***************'
SECRET_KEY = '******************'

""" create client """
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

调用接口得到车牌识别结果

image = get_file_content(filePath)

""" 调用车牌识别 """
res = client.licensePlate(image)

这里的res是一个json对象/一个dict

例子

{
  "log_id": 3583925545,
  "words_result": {
    "color": "blue",
    "number": "苏HS7766"
  }
}

可以使用res['listname']['listname']形式获取字典数据

print('车牌号码:' + res['words_result']['number'])
print('车牌颜色:' + res['words_result']['color'])

至此,我们就实现了使用百度云SDK,通过编写python代码调用接口的车牌识别需求。

python利用百度云接口实现车牌识别的示例

参考文档

【1】百度云API文档:https://cloud.baidu.com/doc/OCR/s/pjwvxzmtc/

【2】python pip安装与使用:https://www.runoob.com/w3cnote/python-pip-install-usage.html

【3】python官网:https://www.python.org/downloads/release/python-374/

到此这篇关于python利用百度云接口实现车牌识别的示例的文章就介绍到这了,更多相关python 百度云车牌识别内容请搜素三水点靠木以前的文章或下面相关文章,希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python网络爬虫采集联想词示例
Feb 11 Python
用Python实现web端用户登录和注册功能的教程
Apr 30 Python
python操作mysql代码总结
Jun 01 Python
Python实现计算对象的内存大小示例
Jul 10 Python
pytorch实现focal loss的两种方式小结
Jan 02 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
Feb 11 Python
python实现俄罗斯方块游戏(改进版)
Mar 13 Python
Pytorch 使用 nii数据做输入数据的操作
May 26 Python
numpy的Fancy Indexing和array比较详解
Jun 11 Python
pycharm全局搜索的具体步骤
Jul 28 Python
selenium自动化测试入门实战
Dec 21 Python
python re模块和正则表达式
Mar 24 Python
在python3中实现更新界面
Feb 21 #Python
Python要如何实现列表排序的几种方法
Feb 21 #Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
Feb 21 #Python
使用Python打造一款间谍程序的流程分析
Feb 21 #Python
python实现堆排序的实例讲解
Feb 21 #Python
Python中的sys.stdout.write实现打印刷新功能
Feb 21 #Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
Feb 21 #Python
You might like
《心理测量者3》剧场版动画预告
2020/03/02 日漫
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
2011/06/28 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
JavaScript设计模式之适配器模式介绍
2014/12/28 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
JavaScript作用域链实例详解
2019/01/21 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
JavaScript中的全局属性与方法深入解析
2020/06/14 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
python服务器端收发请求的实现代码
2014/09/29 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
创优争先心得体会
2014/09/11 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
2014年就业工作总结
2014/11/26 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
详解Python 3.10 中的新功能和变化
2021/04/28 Python
MySQL中varchar和char类型的区别
2021/11/17 MySQL
利用Apache Common将java对象池化的问题
2022/06/16 Servers