Merge branch 'Micooz-master-gbk'

1.3
liuruoze 10 years ago
commit 442cc12b31

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8)
project (EasyPR) project (EasyPR)
list(APPEND CMAKE_CXX_FLAGS "-std=c++0x") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
find_package(OpenCV REQUIRED) find_package(OpenCV REQUIRED)

@ -925,3 +925,7 @@
总图片数:120张, 未识出图片:1张, 定位率:99.1667% 总图片数:120张, 未识出图片:1张, 定位率:99.1667%
平均字符差距:0.714286个, 完全匹配数:81张, 完全匹配率:68.0672% 平均字符差距:0.714286个, 完全匹配数:81张, 完全匹配率:68.0672%
总时间:243秒, 平均执行时间:2.025秒 总时间:243秒, 平均执行时间:2.025秒
2015-04-22 17:39:09
总图片数:120张, 未识出图片:1张, 定位率:99.1667%
平均字符差距:0.714286个, 完全匹配数:81张, 完全匹配率:68.0672%
总时间:251秒, 平均执行时间:2.09167秒

@ -108,6 +108,7 @@ int CPlateDetect::plateDetectDeep(Mat src, vector<CPlate>& resultVec, bool showD
CPlate plate = all_result_Plates[i]; CPlate plate = all_result_Plates[i];
resultVec.push_back(plate); resultVec.push_back(plate);
} }
return 0; return 0;
} }

@ -1583,8 +1583,9 @@ int CPlateLocate::plateLocate(Mat src, vector<Mat>& resultVec, int index)
//large the rect for more //large the rect for more
if (!verifySizes(mr)) if (!verifySizes(mr))
{ {
cv::Mat& roi = dst_blue(safeBoundRect); cv::Mat roi = dst_blue(safeBoundRect);
roi.setTo(0); roi.setTo(0);
cv::swap(roi, dst_blue);
} }
else else
{ {
@ -1637,8 +1638,9 @@ int CPlateLocate::plateLocate(Mat src, vector<Mat>& resultVec, int index)
//large the rect for more //large the rect for more
if (!verifySizes(mr)) if (!verifySizes(mr))
{ {
cv::Mat& roi = dst_yellow(safeBoundRect); cv::Mat roi = dst_yellow(safeBoundRect);
roi.setTo(0); roi.setTo(0);
cv::swap(roi, dst_yellow);
} }
else else
{ {

@ -275,18 +275,19 @@ int test_plate_detect()
Mat src = imread("image/plate_detect.jpg"); Mat src = imread("image/plate_detect.jpg");
vector<Mat> resultVec; vector<CPlate> resultVec;
CPlateDetect pd; CPlateDetect pd;
pd.setPDLifemode(true); pd.setPDLifemode(true);
int result = pd.plateDetect(src, resultVec); int result = pd.plateDetectDeep(src, resultVec);
if (result == 0) if (result == 0)
{ {
int num = resultVec.size(); int num = resultVec.size();
for (int j = 0; j < num; j++) for (int j = 0; j < num; j++)
{ {
Mat resultMat = resultVec[j]; CPlate resultMat = resultVec[j];
imshow("plate_detect", resultMat);
imshow("plate_detect", resultMat.getPlateMat());
waitKey(0); waitKey(0);
} }
destroyWindow("plate_detect"); destroyWindow("plate_detect");

@ -16,9 +16,9 @@
using namespace easypr; using namespace easypr;
//! 将以下路径改成你的位置 //! 将以下路径改成你的位置
char * notlabelPath = "F:/data/easypr-data/notlabel"; const char * notlabelPath = "F:/data/easypr-data/notlabel";
char * hasPaltePath = "F:/data/easypr-data/learn/hasPlate/"; const char * hasPaltePath = "F:/data/easypr-data/learn/hasPlate/";
char * noPlatePath = "F:/data/easypr-data/learn/noPlate/"; const char * noPlatePath = "F:/data/easypr-data/learn/noPlate/";
//! 读取not label data生成learn data //! 读取not label data生成learn data
void label_data() void label_data()

@ -242,7 +242,7 @@ void getLearnData()
void changeFileName() void changeFileName()
{ {
//char * filePath = "F:/data/easypr-data/learndata"; //char * filePath = "F:/data/easypr-data/learndata";
char * filePath = "F:/data/PlateLocate/pic1"; const char * filePath = "F:/data/PlateLocate/pic1";
////获取该路径下的所有文件 ////获取该路径下的所有文件
auto files = Utils::getFiles(filePath); auto files = Utils::getFiles(filePath);

Loading…
Cancel
Save