HyperLPR车牌分割模型

本文介绍了车牌识别中的关键步骤——字符分割,主要探讨了HyperLPR模型使用模板匹配法和投影法进行字符分割的过程,并展示了可视化结果。同时,文章提及HyperLPR的开源性质,欢迎数据捐赠和社区交流。
摘要由CSDN通过智能技术生成

在车牌识别模型中,检测车牌并拟合好车牌左右边界之后,可以对车牌字符做字符分割,字符分割在车牌识别的过程中属于很重要也很困难的一步,这里我们介绍一下智云视图开源的车牌识别中的字符分割模型。


车牌字符分割的常用方法

1.模板匹配法

模板匹配法根据车牌的标准样式,结合字符的结构、尺寸和间距特征,设计出一个固定的模板和一个用来度量模板匹配程度的评价函数,然后将该模板在归一化后的图像中从左至右滑动,每滑动一次计算对应的评价值,最终选出匹配程度最高的模板滑动位置作为字符分割的位置。模板匹配法的缺点是它对车牌图像要求较高,当车牌倾斜角度很小、边框去除干净、图像噪声较少,字符尺寸和字符间距比较标准时,该算法速度快、分割效果好;而当车牌图像质量较为一般时,该算法的分割效果常常不尽人意。
HyperLPR采用了模板匹配法,大致思路如下:
1.对车牌进行一次Guassian Filter(去除噪声)
2.设定模板匹配的模板宽度
3.进行模板匹配
模板匹配代码如下:

def slidingWindowsEval(image):
    windows_size = 16;
    stride = 1
    height= image.shape[0]
    data_sets = []
    model = Getmodel_tensorflow(3,modelpath)
    for i in range(0,image.shape[1]-windows_size+1,stride):
        data = image[0:height,i:i+windows_size]
        data = cv2.resize(data,(23,23))
        data = cv2.equalizeHist(data)
        data = data.astype(np.float)/255
        data=  np.expand_dims(data,3)
        data_sets.append(data)
    res = model.predict(np.array(data_sets))
    return res

结果输出:

ch_prob = res[:,0]#中文字符的概率
        F_prob = res[:,1]#非中文字符 非数字英文 负样本的概率
        en_prob = res[:,2]#数字英文的概率

        ch_prob = gussianFilter1D(res[:,0],
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值