【图像处理基础知识】中文车牌识别API-HyperLPR的应用与相关学习资料(python版)

课题用到了车牌识别,因为C++不会,听说上手比较困难,干脆用了Python做一个原型,编程实现比较快。但是,问题来了,图像处理方面C++是完美工具,大多API、资料都是C++编写的,python的真的是太少了。

终于,还是找到了一个,调用很简单,实现结果也很不错。下面上资料。

-----------------------------------------------------------------------------------------------------------------

一、车辆识别代码下载路径(来源:github)

https://github.com/zeusees/HyperLPR

二、调用方式

1、调用pipline版本

在程序最外层新建一个.py文件

【图像处理基础知识】中文车牌识别API-HyperLPR的应用与相关学习资料(python版)_第1张图片

【图像处理基础知识】中文车牌识别API-HyperLPR的应用与相关学习资料(python版)_第2张图片

recognize_plate.py内容如下:

from program_version2.LPR_cite.hyperlpr import pipline as pp
import cv2

def recognize_plate_my(image):
    '''
    调用车牌检测方法识别车牌,写此方法,供main函数调用
    :param image: 传入的图片,只需要识别出车牌即可
    :return:
    '''
    # image = cv2.imread("包含车牌图像的路径")
    # image=cv2.imread(filename)
    image, res = pp.SimpleRecognizePlate(image)
    print(res)

    return res

在其他程序中直接调用该方法,传入包含车牌的图像即可。

2、调用e2e版本

只需要将recognize_plate.py文件中的内容改为下面内容,其实只有调用方法变化了而已。

from program_version2.LPR_cite.hyperlpr import pipline as pp
import cv2

def recognize_plate_my(image):
    '''
    调用车牌检测方法识别车牌,写此方法,供main函数调用
    :param image: 传入的图片,只需要识别出车牌即可
    :return:
    '''
    # image = cv2.imread("包含车牌图像的路径")
    # image=cv2.imread(filename)
    image, res = pp.SimpleRecognizePlateByE2E(image)
    print(res)

    return res

注意:此处res返回的是一个长度为3的列表,并且车牌号好像去掉了数字,不知道为啥,我又在pp.SimpleRecognizePlateByE2E中稍作修改,只返回带汉字的车牌识别结果,完美解决问题。
 

与此相关的一个教程:

https://www.jianshu.com/p/7ab673abeaae)

三、与该接口相关的技术资料(若不只是应用,想要学习如何实现的技术点,可以看看)

HyperLPR车牌识别技术算法之车牌粗定位与训练

太多资料还没有费精力去找,时间有限,先记下来,课题结束后再认真学习,同时帮助需要的小伙伴。

你可能感兴趣的:(【图像处理基础知识】中文车牌识别API-HyperLPR的应用与相关学习资料(python版))