• 大小: 25.37MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-02
  • 语言: 其他
  • 标签: hyperlpr  车牌识别  

资源简介

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.xml

     文件     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个文件信息

评论

共有 条评论