可生成Windows平台动态库(DLL)的HyperLPR项目 原库:https://github.com/szad670401/HyperLPR
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Marcus Universe 4e28874afe add color detection 8 years ago
Font init 8 years ago
android/app add cpp and android 8 years ago
cache/finemapping add demo images 8 years ago
cpp_ implementation add model zip 8 years ago
dataset add cpp and android 8 years ago
demo_images add cpp and android 8 years ago
hyperlpr add color detection 8 years ago
hyperlpr_test add color detection 8 years ago
model improve the acccuracy to 81.75%(0-error) 94.1%(1-error) 8 years ago
templates init 8 years ago
.gitignore init 8 years ago
LICENSE Create LICENSE 8 years ago
README.md add model files 8 years ago
batch.py init 8 years ago
benchmark.py update code 8 years ago
config.json add color detection 8 years ago
upload.py init 8 years ago
wxpy_uploader.py init 8 years ago

README.md

High Accuracy Chinese Plate Recognition Framework

介绍

This research aims at simply developping plate recognition project based on deep learning methods, with low complexity and high speed. This project has been used by some commercial corporations. Free and open source, deploying by Zeusee.

HyperLPR是一个基于Python的使用深度学习针对对中文车牌识别的实现与开源的EasyPR相比它的检测速度和鲁棒性和多场景的适应性都要好于EasyPR。

更新

  • 增加cpp版本,目前仅支持标准蓝牌
  • 添加了简单的Android实现 (骁龙835 (720x1280) 200ms).

特性

  • 单张720p图像单核Intel 2.2G CPU 识别时间140ms左右比EasyPR单核识别速度快近10倍的时间。
  • 识别率在EasyPR数据集上0-error达到 81.75%, 1-error识别率达到 94.1%
  • 检测方法在实时性、召回率、准确率上都优于MSER方法检测recall和easyPR持平。
  • 代码框架轻量总代码不到1k行。

依赖

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

设计流程

step1. 使用opencv 的 HAAR Cascade 检测车牌大致位置

step2. Extend 检测到的大致位置的矩形区域

step3. 使用类似于MSER的方式的 多级二值化 + RANSAC 拟合车牌的上下边界

step4. 使用CNN Regression回归车牌左右边界

step5. 使用基于纹理场的算法进行车牌校正倾斜

step6. 使用CNN滑动窗切割字符

step7. 使用CNN识别字符

简单使用方式

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

CPP编译

  • 仅需要的依赖OpenCV 3.3 (需要DNN框架)
cd cpp_implementation
mkdir build 
cd build
cmake ../
sudo make -j8

可识别和待支持的车牌的类型

  • 单行蓝牌
  • 单行黄牌
  • 新能源车牌
  • 双层黄牌
  • 双层武警
  • 双层军牌
  • 农用车牌
  • 白色警用车牌
  • 使馆/港澳车牌
  • 民航车牌
  • 个性化车牌

测试样例

image

image

Android示例

android

最新版本下载

数据分享

车牌识别框架开发时使用的数据并不是很多,有意着可以为我们提供相关车牌数据。联系邮箱 455501914@qq.com。

获取帮助

  • HyperLPR讨论QQ群673071218, 加前请备注HyperLPR交流。