2021SC@SDUSC

源代码下载地址:https://gitee.com/zeusees/HyperLPR

源码配置的详情见第一篇分析

本篇内容将继续根据小组分配的任务进行分析,内容如下:

一、finemappingVertical(...)函数

        image_rgb = fv.finemappingVertical(image_rgb)image_rgb = fv.finemappingVertical(image_rgb)

可以看出作者对图片执行了两次finemappingVertical操作。finemappingVertical源码如下:

def finemappingVertical(image):resized = cv2.resize(image,(66,16))resized = resized.astype(np.float)/255res= model.predict(np.array([resized]))[0]print("keras_predict",res)res  =res*image.shape[1]res = res.astype(np.int)H,T = resH-=3if H<0:H=0T+=2;if T>= image.shape[1]-1:T= image.shape[1]-1image = image[0:35,H:T+2]image = cv2.resize(image, (int(136), int(36)))return image

先使用resize函数将已裁剪的图片再进行裁剪操作。

再使用astype函数来将原来灰度图颜色通道[0, 255]转化为float类型[0,1]

后self.modelFineMapping.predict函数输入66*16(float),输入进模型进行测试

model = getModel()
model.load_weights("./model/model12.h5")

model_finemapping()模型位于文件夹的该位置下:

该模型也是一个卷积神经网络模型,通过模型处理后,再次对文字进行裁剪输出。

keras网络模型:对车牌文字的左右边界进行回归
通过modelFineMapping.loadweights()函数加载模型文件
通过modelFineMapping.predict输出网络结果

输入:16*66*3 tensor
输出:长度为2的tensor

总结:该函数是车牌精定位,先使用resize函数将已裁剪的图片再进行裁剪操作。再使用astype函数来将原来灰度图颜色通道[0, 255]转化为float类型[0,1]。后self.modelFineMapping.predict函数输入66*16(float),输入进模型进行测试。该模型也是一个卷积神经网络模型,通过模型处理后,再次进行裁剪输出。通过modelFineMapping.loadweights()函数加载模型文件。最后输出裁剪后的图像,将各个文字的左右边界裁剪下来,识别出文字。

参考文章:HyperLPR车牌识别代码解读

CSDN博主:口袋的天空Zard

原文链接:https://blog.csdn.net/qq_37423198/article/details/81266401

HyperLPR车牌识别库代码分析(6)相关推荐

  1. HyperLPR车牌识别库代码分析(1)

    2021SC@SDUSC 源代码下载地址:https://gitee.com/zeusees/HyperLPR 本项目为山东大学19级软件工程专业软件工程应用与实践课题,我们小组负责该项目的源代码中关 ...

  2. HyperLPR车牌识别库代码分析(12)

    2021SC@SDUSC 源代码下载地址:https://gitee.com/zeusees/HyperLPR 源码配置的详情见第一篇分析 本篇内容将总结之前所分析的SimpleRecognizePl ...

  3. HyperLPR车牌识别库代码分析(9)

    2021SC@SDUSC 源代码下载地址:https://gitee.com/zeusees/HyperLPR 源码配置的详情见第一篇分析 本篇内容将总结之前所分析的SimpleRecognizePl ...

  4. HyperLPR车牌识别库代码分析总结(15)

    2021SC@SDUSC 源代码下载地址:https://gitee.com/zeusees/HyperLPR 源码配置的详情见第一篇分析 本篇内容将总结之前所分析的三个函数: 一.SimpleRec ...

  5. Mobile-LPR——面向移动端的准商业级车牌识别库

    今天发现一个很棒的车牌识别项目,精度高.代码高度优化.方便使用,感谢开发者xiangweizeng!欢迎大家参考- 项目地址: https://github.com/xiangweizeng/mobi ...

  6. HyperLPR车牌识别技术算法之车牌精定位

    关于HyperLPR HyperLPR是一个使用深度学习针对对中文车牌识别的实现,与较为流行的开源的EasyPR相比,它的检测速度和鲁棒性和多场景的适应性都要好于目前开源的EasyPR,HyperLP ...

  7. 最新优秀开源:车牌识别、车型分析、车流统计、违停检测统统行

    停车场闸机的车牌识别.道路两侧的违停检测.繁华路口的车流统计.茫茫车海中的车辆锁定-这些场景背后的技术原理大家是否在心中简单构思过?抑或想要抽时间自己攒一套出来可却又不知从何下手?--PP-Vehic ...

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

    关于HyperLPR HyperLPR是一个使用深度学习针对对中文车牌识别的实现,与较为流行的开源的EasyPR相比,它的检测速度和鲁棒性和多场景的适应性都要好于目前开源的EasyPR,HyperLP ...

  9. pp-vehicle车牌识别检测代码

    车牌识别实例化 1.在官网拉取最新代码,并创建检测py文件,并引入相应的库 import os,cv2,time import numpy as np import argparse from dep ...

最新文章

  1. 3ds Max中的V-Ray学习
  2. ASP.NET动态的修改主题
  3. flutter怎么手动刷新_flutter局部刷新的实现示例
  4. springboot搭建的ssm项目
  5. 30+个必知的《人工智能》会议清单
  6. r语言怎么保存代码_R代码忘记保存,系统崩溃了怎么办?
  7. linux vim命令及使用,极大提升使用linux的舒适程度
  8. Linux 用户磁盘空间配额管理
  9. myeclipse 10激活,本人已测试过可行
  10. wamp 出现 The requested URL / was not found on this server
  11. java300集高淇老师学习笔记
  12. 正弦交流电有效值系数sqrt(2)的推导
  13. 【06月12日】指数估值排名
  14. java细节篇(==和equals的区别)
  15. 线性代数——矩阵的秩
  16. Dubbo 使用 kryo 序列化
  17. matlab绕线式三级串阻,三相绕线式异步电动机转子串电阻起动的MATLAB仿真
  18. 通过iptables 禁止访问域名方法整合
  19. Nginx Sticky的使用及踩过的坑(nginx-sticky-module)
  20. 【GoLang】Map的遍历

热门文章

  1. 【读书笔记】《2030》阿尔伯特·布鲁克斯
  2. 小米路由器R2D刷机
  3. 决策树 结构_「神经网络」能否代替「决策树算法」?
  4. 学习Tensorflow2官方Demo——Lenet,以及遇到的问题
  5. Windows程序设计-子窗口控件
  6. (转)晶振负载电容外匹配电容计算与晶振振荡电路设计经验总结
  7. 初识Struts 2
  8. 长江后浪推前浪,UnityWebRequest替代WWW
  9. 长江后浪推前浪,前浪死在沙滩上。本人在沙滩上又死了一回
  10. MaxCompute常用函数(ODPS常用函数)