Ejemplo n.º 1
0
void CBATCHDlg::OnBnClickedButtonDetect()
{
	// TODO: 
	CPlateDetect plate;


	for(vector<CString>::size_type v_i = 0; v_i < m_images.size(); ++v_i)
	{	
		vector<Mat> resultVec;
		string str = m_images[v_i].GetBuffer(0);
		Mat src = imread(str, 1);
		int result = plate.plateDetect(src, resultVec);
		if (result == 0)
		{
			int num = resultVec.size();
			for (int j = 0; j < num; j++)
			{
				Mat resultMat = resultVec[j];
				//IplImage pImg = resultMat;
				stringstream ss(stringstream::in | stringstream::out);
				ss << this->m_savepath << "\\" << v_i << "_detect" << j << ".jpg";
				imwrite(ss.str(), resultMat);
			}
		}
	}
}
Ejemplo n.º 2
0
int test_plate_detect()
{
	cout << "test_plate_detect" << endl;

	Mat src = imread("image/plate_detect.jpg");

	vector<Mat> resultVec;
	CPlateDetect pd;

	int result = pd.plateDetect(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);
		}
	}

	return result;
}
Ejemplo n.º 3
0
		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;
		}