int test_plate_detect() { cout << "test_plate_detect" << endl; Mat src = imread(img_plate_detect); vector<CPlate> resultVec; CPlateDetect pd; pd.setPDLifemode(true); int result = pd.plateDetectDeep(src, resultVec); if (result == 0) { int num = resultVec.size(); for (int j = 0; j < num; j++) { CPlate resultMat = resultVec[j]; imshow("plate_detect", resultMat.getPlateMat()); waitKey(0); } destroyWindow("plate_detect"); } return result; }
int test_plate_detect() { cout << "test_plate_detect" << endl; Mat src = imread("image/plate_detect.jpg"); //Mat src = imread("image/baidu_image/test1.jpg"); vector<Mat> resultVec; CPlateDetect pd; pd.setPDLifemode(true); int result = pd.plateDetectDeep(src, resultVec); if (result == 0) { int num = resultVec.size(); for (int j = 0; j < num; j++) { Mat resultMat = resultVec[j]; imshow("plate_detect", resultMat); waitKey(0); } destroyWindow("plate_detect"); } return result; }
int test_chars_segment() { cout << "test_chars_segment" << endl; Mat src = imread(img_chars_segment); vector<CPlate> resultVec; CPlateDetect pd; CCharsSegment cs; pd.setPDLifemode(true); int result = pd.plateDetectDeep(src, resultVec); if (result == 0) { int num = resultVec.size(); for (int j = 0; j < num; j++) { CPlate plate = resultVec[j]; imshow("plate_detect", plate.getPlateMat()); waitKey(0); vector<Mat> resultChars; int result_cs = cs.charsSegment(plate.getPlateMat(), resultChars); if (result_cs == 0) { int num_cs = resultChars.size(); for (int p = 0; p < num_cs; p++) { Mat resultChar = resultChars[p]; imshow("chars_segment", resultChar); waitKey(0); } destroyWindow("chars_segment"); } } destroyWindow("plate_detect"); } return result; }
int plate_detect_main(vector<Mat>& resultDT){ cout << "process plate_detect_main..."; Mat src = imread(NATIVE_RECG_PATH+"/test.jpg"); CPlateDetect plate; plate.setPDDebug(OPTION_DEBUG); plate.setPDLifemode(OPTION_LIFEMODE); int result = plate.plateDetectDeep(src, resultDT); if (result == 0) { int num = resultDT.size(); for (int j = 0; j < num; j++) { Mat resultMat = resultDT[j]; show_dialog(resultMat); } cout << "OK"; } cout << endl; return result; }
int test_plate_detect(const char*path) { cout << "test_plate_detect" << endl; char* chCurPath = getcwd(NULL, 0); vector<cv::Mat> matVec; vector<cv::Mat> resultVec; CPlateLocate plate; vector<string> fileVec; cv::Mat src; fileVec = BrowseFilenamesOneLayer(path, "*.jpg"); _chdir(chCurPath); cout << fileVec.size() << endl; double fScale = 1; for (int i = 0; i < fileVec.size(); i++) { string fileName = fileVec[i]; cout << "fileName=" << fileName << endl; cv::Mat src = imread(fileName); int rows = src.rows * fScale; int cols = src.cols * fScale; cv::Mat dst; scaleIntervalSampling(src, dst, fScale, fScale); vector<CPlate> resultVec; CPlateDetect pd; pd.setPDLifemode(true); //pd.setDetectShow(true); pd.setDetectType(PR_DETECT_COLOR|PR_DETECT_CMSER ); int result = pd.plateDetect(dst, resultVec); int pos; string realName; pos = fileName.find_last_of('/'); realName = fileName.substr(pos + 1); if (result == 0) { size_t num = resultVec.size(); for (size_t j = 0; j < num; j++) { CPlate resultMat = resultVec[j]; ostringstream os; char a[10]; itoa(j, a, 10); os << "resources/image/general_test_prLast2/"<<realName<<"_" << a << ".jpg"; cout << "tarName="<<os.str() << endl; imwrite(os.str(), resultMat.getPlateMat()); //imshow("plate_detect", resultMat.getPlateMat()); //waitKey(0); } } else cout << "Detect failed!" << endl; //destroyWindow("plate_detect"); } return 0; }