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的Twisted框架实现webshell密码扫描器的教程
Apr 16 Python
python输出当前目录下index.html文件路径的方法
Apr 28 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
Oct 11 Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 Python
对Python3.x版本print函数左右对齐详解
Dec 22 Python
python调用摄像头拍摄数据集
Jun 01 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
Dec 19 Python
Python阶乘求和的代码详解
Feb 14 Python
基于Python和C++实现删除链表的节点
Jul 06 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
分享python函数常见关键字
Apr 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
咖啡与水的关系
2021/03/03 冲泡冲煮
PHP生成静态页面详解
2006/11/19 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
Python实现时钟显示效果思路详解
2018/04/11 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
澳大利亚网上买书:Angus & Robertson
2019/07/21 全球购物
学生自我评价范文
2014/02/02 职场文书
甜品店创业计划书
2014/08/14 职场文书
处级干部考察材料
2014/12/24 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书
详细总结Python常见的安全问题
2021/05/21 Python
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
2021/10/16 HTML / CSS