Пример #1
0
void CBATCHDlg::OnBnClickedButtonLocation2()
{

	CPlateLocate plate;	plate.setDebug(1);
	//plate.setVerifyMax(500);
	//plate.setVerifyMin(50);
	
	for(vector<CString>::size_type v_i = 0; v_i < m_images.size(); ++v_i)
	{			
		string str = m_images[v_i].GetBuffer(0);

		int index1 = str.find_last_of("\\");
		int index2 = str.find_last_of(".");
		string name = str.substr(index1 + 1,index2 - index1 - 1);

		vector<Mat> resultVec;
		Mat src = imread(str, 1);
		int result = plate.plateLocate2(src, resultVec);
		if (result == 0)
		{
			int num = resultVec.size();
			if(1 == num)
			{
				Mat resultMat = resultVec[0];
				stringstream ss(stringstream::in | stringstream::out);
				ss << this->m_savepath << "\\" << name << ".jpg";
				imwrite(ss.str(), resultMat);
			}
			else
			{
				for (int j = 0; j < num; j++)
				{
					Mat resultMat = resultVec[j];
					stringstream ss(stringstream::in | stringstream::out);
					ss << this->m_savepath << "\\" << name << "_" << j << ".jpg";
					imwrite(ss.str(), resultMat);
				}
			}

		}
	}
	
	MessageBox("Finish.");
}