Create By:Jack Yu

master
Jackyu 8 years ago
commit
f3c14a36de
1 changed files with 105 additions and 0 deletions
  1. +105
    -0
      HyperLPR车牌识别的安装.md

+ 105
- 0
HyperLPR车牌识别的安装.md

@@ -0,0 +1,105 @@
# HyperLPR车牌识别文档

## 介绍

HyperLPR是一个基于Python的使用深度学习针对对中文车牌识别的实现,与开源的[EasyPR](https://github.com/liuruoze/EasyPR)相比,它的检测速度和鲁棒性和多场景的适应性都要好于EasyPR。我们设计了较为鲁棒的算法来完成在复杂场景下的车牌识别。



### 设计流程

目前的车牌识别算法的Pipeline 如下

> step1. 使用opencv 的 HAAR Cascade 检测车牌大致位置
>
> step2. Extend 检测到的大致位置的矩形区域
>
> step3. 使用类似于MSER的方式的 多级二值化 + RANSAC 拟合车牌的上下边界
>
> step4. 使用CNN Regression回归车牌左右边界
>
> step5. 使用基于纹理场的算法进行车牌校正倾斜
>
> step6. 使用CNN滑动窗切割字符
>
> step7. 使用CNN识别字符

接下来的文章会逐一的介绍本框架使用的算法流程和详细过程。

## 安装须知

由于本项目是基于Python2开发,在未来的一段时间内,将会转为Python3开发。所以目前的版本仅支持Python2开发。所需的依赖如下:

- 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)



### 依赖安装

###### Windows

在Windows下,由于没有给Python2的tensorflow版本所以,可以选择theano和CNTK作为Keras的后端。在Windows下,推荐使用adaconda来配置环境,具体教程可以[参考此文](https://github.com/szad670401/dlwin)。在安装完Keras和及其backend后。

由于Numpy和Scipy在adaconda中已经集成了。接下来需要安装OpenCV

`pip install opencv-python`

###### Linux(Ubuntu)

Linux下安装较为简单,输入在bash中执行以下命令即可:

更新本地索引

`sudo apt-get update`

安装Python环境

`sudo apt-get install python2.7 python-pip`

`sudo pip install numpy opencv-python scipy`

`sudo pip install theano`

`sudo pip install keras==2.0.0`

###### Mac

Mac下安装同样很简单,Mac是自带Python2环境的,由于Mac没有自带的包管理器,如果没有安装Python环境的话,需要下载类似于Linux的包管理器HomeBrew,可以在[这里](https://brew.sh)参考安装。

安装Python

`brew update`

`brew install python`

`sudo pip install numpy opencv-python scipy`

`sudo pip install theano`

`sudo pip install keras==2.0.0`

### 使用HyperLPR

下载HyperLPR可以使用Git(但是提前必须安装Git命令行工具)也可以从[Github](https://github.com/zeusees/HyperLPR)直接下载Zip

`git clone https://github.com/zeusees/HyperLPR.git`

`cd HyperLPR`

HyperLPR的训练好的默认模型放在model目录下,训练模型的代码暂未开源。

需要使用请将hyperlpr和model一起移动到工程目录。

接着就可以通过如下代码开始简单使用了

```python
from hyperlpr import pipline as pp
import cv2
image = cv2.imread("filename")
image,res = pp.SimpleRecognizePlate(image)
```

Loading…
Cancel
Save