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使用any判断一个对象是否为空的方法
Nov 19 Python
python正则表达式之作业计算器
Mar 18 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
python 实现登录网页的操作方法
May 11 Python
通过Pandas读取大文件的实例
Jun 07 Python
在Python中使用gRPC的方法示例
Aug 08 Python
python中正则表达式与模式匹配
May 07 Python
基于django传递数据到后端的例子
Aug 16 Python
python实现简单日志记录库glog的使用
Dec 13 Python
python读取配置文件方式(ini、yaml、xml)
Apr 09 Python
pandas统计重复值次数的方法实现
Feb 20 Python
基于tensorflow __init__、build 和call的使用小结
Feb 26 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
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
如何用javascript去掉字符串里的所有空格
2007/02/08 Javascript
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
2008/12/25 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
NodeJS有难度的面试题(能答对几个)
2019/10/09 NodeJs
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
python装饰器与递归算法详解
2016/02/18 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
python画柱状图--不同颜色并显示数值的方法
2018/12/13 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
python opencv肤色检测的实现示例
2020/12/21 Python
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
银行个人求职自荐信范文
2013/12/16 职场文书
大学生两会精神学习心得体会
2014/03/10 职场文书
工程资料员岗位职责
2014/03/10 职场文书
大专生找工作自荐书
2014/06/10 职场文书
关于读书的活动方案
2014/08/14 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
2016年寒假社会实践活动心得体会
2015/10/09 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
python xlwt模块的使用解析
2021/04/13 Python
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript
Golang 并发编程 SingleFlight模式
2022/04/26 Golang