You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
EasyPR/src/core/plate_detect.cpp

54 lines
994 B

#include "../include/plate_detect.h"
/*! \namespace easypr
Namespace where all the C++ EasyPR functionality resides
*/
namespace easypr{
CPlateDetect::CPlateDetect()
{
//cout << "CPlateDetect" << endl;
m_plateLocate = new CPlateLocate();
m_plateJudge = new CPlateJudge();
}
void CPlateDetect::LoadSVM(string s)
{
m_plateJudge->LoadModel(s.c_str());
}
int CPlateDetect::plateDetect(Mat src, vector<Mat>& resultVec)
{
//¿ÉÄÜÊdzµÅƵÄͼ¿é¼¯ºÏ
vector<Mat> matVec;
int resultLo = m_plateLocate->plateLocate(src, matVec);
if (0 != resultLo)
return -1;
int resultJu = m_plateJudge->plateJudge(matVec, resultVec);
if(getPDDebug())
{
int size = resultVec.size();
for (int i = 0; i < size; i++)
{
Mat img = resultVec[i];
if(1)
{
stringstream ss(stringstream::in | stringstream::out);
ss << "image/tmp/plate_judge_result_" << i << ".jpg";
imwrite(ss.str(), img);
}
}
}
if (0 != resultJu)
return -2;
return 0;
}
} /*! \namespace easypr*/