void CBATCHDlg::OnBnClickedButtonLocation() { CPlateLocate plate; plate.setDebug(0); plate.setGaussianBlurSize(5); plate.setMorphSizeWidth(17); plate.setMorphSizeHeight(10); plate.setVerifyMin(8); plate.setVerifyMax(80); 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.plateLocate(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 << "_location" << j << ".jpg"; imwrite(ss.str(), resultMat); } } } }
int test_plate_locate() { cout << "test_plate_locate" << endl; Mat src = imread("image/plate_locate.jpg"); //Mat src = imread("image/baidu_image/test6.jpg"); vector<Mat> resultVec; CPlateLocate plate; plate.setDebug(1); plate.setGaussianBlurSize(5); plate.setMorphSizeWidth(17); int result = plate.plateLocate(src, resultVec); if (result == 0) { int num = resultVec.size(); for (int j = 0; j < num; j++) { Mat resultMat = resultVec[j]; imshow("plate_locate", resultMat); waitKey(0); } } return result; }