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中用memcached来减少数据库查询次数的教程
Apr 07 Python
由Python运算π的值深入Python中科学计算的实现
Apr 17 Python
python字典的常用操作方法小结
May 16 Python
解决phantomjs截图失败,phantom.exit位置的问题
May 17 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
Jul 12 Python
详解Django解决ajax跨域访问问题
Aug 24 Python
python使用插值法画出平滑曲线
Dec 15 Python
django数据库自动重连的方法实例
Jul 21 Python
Python数学形态学实例分析
Sep 06 Python
python groupby 函数 as_index详解
Dec 16 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 Python
python实现简单文件读写函数
Feb 25 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 pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
解析使用JS 清空File控件的路径值
2013/07/08 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
2014/08/18 Javascript
浅析javascript的return语句
2015/12/15 Javascript
微信小程序 http请求详细介绍
2016/10/09 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
使用AngularJS2中的指令实现按钮的切换效果
2017/03/27 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
Python遍历pandas数据方法总结
2018/02/09 Python
python定时关机小脚本
2018/06/20 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
Pycharm 2019 破解激活方法图文详解
2019/10/11 Python
django form和field具体方法和属性说明
2020/07/09 Python
详解Python中的路径问题
2020/09/02 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
矫正人员思想汇报
2014/01/08 职场文书
施工工地安全标语
2014/06/07 职场文书
女生节标语
2014/06/26 职场文书
村道德模范事迹材料
2014/08/28 职场文书
信用卡工资证明范本
2014/10/17 职场文书
端午节活动总结报告
2015/02/11 职场文书
贪污检举信范文
2015/03/02 职场文书
读书笔记怎么写
2015/07/01 职场文书
财务人员入职担保书
2015/09/22 职场文书
python基础之文件处理知识总结
2021/05/23 Python
python如何将mat文件转为png
2022/07/15 Python