python车牌识别库_Python+Keras+TensorFlow车牌识别

Python 依赖

Anaconda for Python 3.x on Win64

Keras (>2.0.0)

Theano(>0.9) or Tensorflow(>1.1.x)

Numpy (>1.10)

Scipy (0.19.1)

OpenCV(>3.0)

Scikit-image (0.13.0)

PIL

准备工作:安装以下依赖包

pip install pyinstaller -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

pip install Keras

pip install Theano

pip install Numpy

pip install Scipy

pip install opencv-python

pip install scikit-image

pip install pillow

pip install tensorflow

安装过程中可能出现Time out错误如下

raise ReadTimeoutError(self._pool, None, ‘Read timed out.‘)

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org‘, port=443): Read timed out.

不要慌,重新输入一次安装命令。如:pip install pillow

运行

把代码clone下来以后准备在pycharm上运行

我们创建一个LPR的目录,将开源库中的Font和model拷到此目录,创建一个car的目录,放置待识别车牌的车辆照片,命名为1.jpg,2.jpg,3.jpg。

在LRP文件夹中新建一个 Python3的Python文件,输入如下代码:

from hyperlpr import pipline as pp

import cv2

#自行修改文件名

image = cv2.imread("./car/1.jpg")

image,res = pp.SimpleRecognizePlate(image)

print(res)

我的Python环境:

Python 3.7

cv2 4.1.0

Keras 2.3.1

TensorFlow 2.0.0

解决bug

这里我遇到两个bug:

File "D:\anaconda\lib\hyperlpr\recognizer.py", line 8, in K.set_image_dim_ordering(‘tf‘)

AttributeError: module ‘keras.backend‘ has no attribute ‘set_image_dim_ordering‘

这个原因是,keras在有些较新的版本中没有set_image_dim_ordering()函数,而是改成了image_data_format()函数。

修改方法是,在所有报这个错的文件中把

K.set_image_dim_ordering(‘tf‘)

改成:

K.image_data_format()

修改后:

如果你使用的是较低版本的keras,那就反着改。若IDE询问是否要修改文件,选是即可。应该有三个文件需要此修改。

File "D:\anaconda\lib\hyperlpr\finemapping.py", line 41, in findContoursAndDrawBoundingBox

imagex, contours, hierarchy = cv2.findContours(binary_niblack.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)

ValueError: not enough values to unpack (expected 3, got 2)

这个原因是,在opencv2中cv2.findContours()函数返回两个值:contours,hierarchy。而opencv3及以后会返回三个值,分别是img, countours, hierarchy。

这里直接把报错文件中对应行的imagex,删除,使函数返回值由两个参数接收。

应该有两个文件需要此修改。

修改后:

现在运行程序应该就会惊喜的发现运行成功啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值