资源简介
HyperLPR是一个使用深度学习针对对中文车牌识别的实现,开源地址:https://github.com/zeusees/HyperLPR,在windows下,使用vs2013编译成功,编译前需要修改opencv340的include和lib路径。
代码片段和文件信息
#include “Pipeline.h“
std::vector CH_PLATE_CODE{ “京“ “沪“ “津“ “渝“ “冀“ “晋“ “蒙“ “辽“ “吉“ “黑“ “苏“ “浙“ “皖“ “闽“ “赣“ “鲁“ “豫“ “鄂“ “湘“ “粤“ “桂“
“琼“ “川“ “贵“ “云“ “藏“ “陕“ “甘“ “青“ “宁“ “新“ “0“ “1“ “2“ “3“ “4“ “5“ “6“ “7“ “8“ “9“ “A“
“B“ “C“ “D“ “E“ “F“ “G“ “H“ “J“ “K“ “L“ “M“ “N“ “P“ “Q“ “R“ “S“ “T“ “U“ “V“ “W“ “X“
“Y“ “Z““港““学““使““警““澳““挂““军““北““南““广““沈““兰““成““济““海““民““航““空“};
using namespace std;
template
static unsigned int levenshtein_distance(const T &s1 const T &s2) {
const size_t len1 = s1.size() len2 = s2.size();
std::vector col(len2 + 1) prevCol(len2 + 1);
for (unsigned int i = 0; i < prevCol.size(); i++) prevCol[i] = i;
for (unsigned int i = 0; i < len1; i++) {
col[0] = i + 1;
for (unsigned int j = 0; j < len2; j++)
col[j + 1] = min(
min(prevCol[1 + j] + 1 col[j] + 1)
prevCol[j] + (s1[i] == s2[j] ? 0 : 1));
col.swap(prevCol);
}
return prevCol[len2];
}
void TEST_ACC(){
pr::PipelinePR prc(“model/cascade.xml“
“model/HorizonalFinemapping.prototxt“ “model/HorizonalFinemapping.caffemodel“
“model/Segmentation.prototxt“ “model/Segmentation.caffemodel“
“model/CharacterRecognization.prototxt“ “model/CharacterRecognization.caffemodel“
“model/SegmentationFree.prototxt“ “model/SegmentationFree.caffemodel“
);
ifstream file;
string imagename;
int n = 0 correct = 0 j = 0 sum = 0;
char filename[] = “E:\\general_test\\1.txt“;
string pathh = “E:\\general_test\\“;
file.open(filename ios::in);
// cout << filename << endl;
while (!file.eof())
{
file >> imagename;
string imgpath = pathh + imagename;
// cout << imgpath << endl;
std::cout << “------------------------------------------------“ << endl;
cout << “图片名:“ << imagename << endl;
cv::Mat image = cv::imread(imgpath);
// cv::imshow(“image“ image);
// cv::waitKey(0);
std::vector res = prc.RunPiplineAsImage(image pr::SEGMENTATION_FREE_METHOD);
float conf = 0;
vector con;
vector name;
for (auto st : res) {
if (st.confidence > 0.1) {
//std::cout << st.getPlateName() << “ “ << st.confidence << std::endl;
con.push_back(st.confidence);
name.push_back(st.getPlateName());
//conf += st.confidence;
}
else
cout << “no string“ << endl;
}
// std::cout << conf << std::endl;
int num = con.size();
float max = 0;
string platestr chpr ch;
int diff = 0 dif = 0;
for (int i = 0; i < num; i++) {
if (con.at(i) > max)
{
max = con.at(i);
platestr = name.at(i);
}
}
// cout << “max:“< cout << “string:“ << platestr << endl;
chpr = platestr.substr(0 2);
ch = imagename.substr(0 2);
diff = levenshtein_distance(imagename platestr);
dif = diff - 4;
cout << “差距:“ << dif << endl;
sum += dif;
if (ch != chpr
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 43912 2017-11-15 04:56 lpre2e\A88888.jpg
文件 492 2018-01-30 11:00 lpre2e\include\CNNRecognizer.h
文件 326 2018-01-30 11:00 lpre2e\include\FastDeskew.h
文件 630 2018-01-30 11:00 lpre2e\include\FineMapping.h
文件 3983 2018-01-30 11:00 lpre2e\include\niBlackThreshold.h
文件 2107 2018-01-31 08:27 lpre2e\include\Pipeline.h
文件 812 2018-01-30 11:00 lpre2e\include\PlateDetection.h
文件 3847 2018-01-30 11:00 lpre2e\include\PlateInfo.h
文件 1211 2018-01-30 11:00 lpre2e\include\PlateSegmentation.h
文件 581 2018-01-30 11:00 lpre2e\include\Recognizer.h
文件 637 2018-01-30 11:00 lpre2e\include\SegmentationFreeRecognizer.h
文件 5583 2018-01-31 10:59 lpre2e\lpre2e\e2e.cpp
文件 7401 2018-01-31 10:36 lpre2e\lpre2e\lpre2e.vcxproj
文件 2969 2018-01-31 08:12 lpre2e\lpre2e\lpre2e.vcxproj.filters
文件 165 2018-01-31 10:29 lpre2e\lpre2e\lpre2e.vcxproj.user
文件 356611 2018-01-30 11:00 lpre2e\lpre2e\model\cascade.xm
文件 930906 2018-01-30 11:00 lpre2e\lpre2e\model\CharacterRecognization.caffemodel
文件 1830 2018-01-30 11:00 lpre2e\lpre2e\model\CharacterRecognization.prototxt
文件 47608 2018-01-30 11:00 lpre2e\lpre2e\model\HorizonalFinemapping.caffemodel
文件 1337 2018-01-30 11:00 lpre2e\lpre2e\model\HorizonalFinemapping.prototxt
文件 276969 2018-01-30 11:00 lpre2e\lpre2e\model\Segmentation.caffemodel
文件 1719 2018-01-30 11:00 lpre2e\lpre2e\model\Segmentation.prototxt
文件 9415241 2018-01-30 11:00 lpre2e\lpre2e\model\SegmentationFree.caffemodel
文件 4935 2018-01-30 11:00 lpre2e\lpre2e\model\SegmentationFree.prototxt
文件 3542646 2018-02-01 08:17 lpre2e\lpre2e\x64\Release\CNNRecognizer.obj
文件 3708681 2018-02-01 08:17 lpre2e\lpre2e\x64\Release\e2e.obj
文件 3425153 2018-02-01 08:17 lpre2e\lpre2e\x64\Release\FastDeskew.obj
文件 3572362 2018-02-01 08:17 lpre2e\lpre2e\x64\Release\FineMapping.obj
文件 993 2018-02-01 08:17 lpre2e\lpre2e\x64\Release\lpre2e.Build.CppClean.log
文件 12219 2018-02-01 08:17 lpre2e\lpre2e\x64\Release\lpre2e.log
............此处省略45个文件信息
- 上一篇:基于ssm的权限管理系统
- 下一篇:Authorware----自制简历
相关资源
- 车牌识别opencv
- 车牌识别系统的性能评测图像库
- 车牌识别程序一整套上次那个资源传
- 利用EmguCV3.20完成的准确的车牌定位方
- 端到端的中文车牌识别
- 车牌识别训练集
- VC OpenCV车牌识别
- 毕业设计基于Opencv的车牌识别系统
- 基于OpenCV的车牌识别系统
- 车牌识别-opencv
- 车牌_汉字_字母_数字训练集
- 基于OpenCV的车牌识别
- 基于机器学习的车牌识别研究
- 基于颜色车牌识别
- opencv车牌识别
- 一个基于easypr的车牌识别demo
- 车牌识别系统opencv版
- 车牌识别系统的功能评测子库2
- 车牌识别系统的功能评测子库1
- svm-车牌识别正负样本
- 基于opencv车牌识别源码
- 最经典的开源车牌识别代码 OPENCV
- 卷积神经网络车牌识别164048
- vc车牌识别程序源代码
- 卷积神经网络车牌识别
- 可以直接使用的百度文字识别源代码
- 深度学习车牌识别模型.zip
- 基于Halcon的车牌识别技术研究 201811
- 车牌识别基于模板匹配和神经网络.
- 车牌识别数据集中英
评论
共有 条评论