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 制作图片转pdf工具
Jan 30 Python
Python CSV模块使用实例
Apr 09 Python
python绘制铅球的运行轨迹代码分享
Nov 14 Python
Python搭建FTP服务器的方法示例
Jan 19 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
Python简单实现两个任意字符串乘积的方法示例
Apr 12 Python
Python面向对象类继承和组合实例分析
May 28 Python
python集合是否可变总结
Jun 20 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
tensorflow实现二维平面模拟三维数据教程
Feb 11 Python
python获取时间戳的实现示例(10位和13位)
Sep 23 Python
Python 中 Shutil 模块详情
Nov 11 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
生成静态页面的PHP类
2006/11/25 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
php文件服务实现虚拟挂载其他目录示例
2014/04/17 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
Input 特殊事件onpopertychange和oninput
2009/06/17 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
2015/03/05 Javascript
简单介绍JavaScript的变量和数据类型
2015/06/03 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
[00:59]DOTA2英雄背景故事——上古巨神
2020/06/28 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
Python 对象中的数据类型
2017/05/13 Python
Python标准库shutil用法实例详解
2018/08/13 Python
浅谈python连续赋值可能引发的错误
2018/11/10 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
python实现小程序推送页面收录脚本
2020/04/20 Python
使用Keras实现简单线性回归模型操作
2020/06/12 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
运动会通讯稿100字
2014/01/31 职场文书
户外亲子活动策划方案
2014/02/07 职场文书
《美丽的公鸡》教学反思
2014/02/25 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python