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操作json数据的一个简单例子
Apr 17 Python
Python实现简单的多任务mysql转xml的方法
Feb 08 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 Python
python编写Logistic逻辑回归
Dec 30 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
Nov 14 Python
Django基础知识 web框架的本质详解
Jul 18 Python
Django之提交表单与前后端交互的方法
Jul 19 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
python中property和setter装饰器用法
Dec 19 Python
用Python做一个久坐提醒小助手的示例代码
Feb 10 Python
python中wheel的用法整理
Jun 15 Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 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/02 无线电
PHP中Date()时间日期函数的使用方法小结
2011/04/20 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
2015/04/08 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
详解package.json版本号规则
2019/08/01 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
《秋游》教学反思
2014/04/24 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
门球健将观后感
2015/06/16 职场文书
nginx访问报403错误的几种情况详解
2022/07/23 Servers