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 相关文章推荐
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 Python
Python简单获取自身外网IP的方法
Sep 18 Python
Python中动态检测编码chardet的使用教程
Jul 06 Python
python字典操作实例详解
Nov 16 Python
python实现单向链表详解
Feb 08 Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 Python
python代码编写计算器小程序
Mar 30 Python
自适应线性神经网络Adaline的python实现详解
Sep 30 Python
Python接口开发实现步骤详解
Apr 26 Python
Pyecharts地图显示不完成问题解决方案
May 11 Python
python 获取剪切板内容的两种方法
Nov 28 Python
python 窃取摄像头照片的实现示例
Jan 08 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
如何分别全角和半角以避免乱码
2006/10/09 PHP
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
php 设计模式之 工厂模式
2008/12/19 PHP
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
vue实现循环切换动画
2018/10/17 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
简介Python中用于处理字符串的center()方法
2015/05/18 Python
python妙用之编码的转换详解
2017/04/21 Python
Python列表list排列组合操作示例
2018/12/18 Python
学python安装的软件总结
2019/10/12 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
超级实用的8个Python列表技巧
2020/08/24 Python
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
西班牙香水和化妆品连锁店:Druni
2019/05/05 全球购物
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
中专毕业生自我鉴定
2013/11/21 职场文书
高三自我评价
2014/02/01 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
抢劫罪辩护词
2015/05/21 职场文书
干部培训工作总结2015
2015/05/25 职场文书
遗愿清单观后感
2015/06/09 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
MySQL 数据类型选择原则
2021/05/27 MySQL