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 相关文章推荐
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
浅述python中argsort()函数的实例用法
Mar 30 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
python变量命名的7条建议
Jul 04 Python
解决Django连接db遇到的问题
Aug 29 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 Python
如何将json数据转换为python数据
Sep 04 Python
Python环境配置实现pip加速过程解析
Nov 27 Python
matplotlib之多边形选区(PolygonSelector)的使用
Feb 24 Python
python编程实现清理微信重复缓存文件
Nov 01 Python
代码复现python目标检测yolo3详解预测
May 06 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
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
PHP答题类应用接口实例
2015/02/09 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
js二级地域选择的实现方法
2013/06/17 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
javascript中Object使用详解
2015/01/26 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
JS实现图片高亮展示效果实例
2015/11/24 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
domReady的实现案例
2016/11/23 Javascript
javascript操作cookie
2017/01/17 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
简化Python的Django框架代码的一些示例
2015/04/20 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
计算机开发个人求职信范文
2013/09/26 职场文书
2014年幼儿园植树节活动方案
2014/03/02 职场文书
高中军训感想300字
2014/03/04 职场文书
2014年父亲节活动方案
2014/03/06 职场文书
亲属关系公证书
2014/04/08 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
死亡证明书样本说明
2014/10/18 职场文书
2014年六五普法工作总结
2014/11/25 职场文书
廉政承诺书
2015/01/19 职场文书
介绍信范文
2015/01/31 职场文书
nginx 添加http_stub_status_module模块
2022/05/25 Servers