Browse Source

更新C++测试用例

lilith.lu 1 year ago
parent
commit
541acd0d7a

+ 1 - 1
IDCardRecogntion/SourceCode/Algorithm/cpp/IDCardRecognition.cpp

@@ -73,7 +73,7 @@ bool IDCardRecognition::IsValidIdentifier(const char* identifier)
 bool IDCardRecognition::LoadNetWorks(ModelDataArray modelBuffer)
 {
 
-    _pIdCardAnalyser = new IDCardAnalyser(NCNN, PaddleOCR);
+    _pIdCardAnalyser = new IDCardAnalyser(ONNX, PaddleOCR);
 
     // 判断加载的模型数据是否有效
     if (!__IsModelDataArrayValid(modelBuffer))

+ 64 - 64
IDCardRecogntion/SourceCode/Test/PC/test.cpp

@@ -13,7 +13,7 @@
 #define EVA_ONE_IMG  1
 #define EVA_MORE_IMG  0 && !EVA_ONE_IMG
 
-#define ONNX  0
+#define ONNX  1
 #define NCNN  !ONNX
 
 #if _DEBUG
@@ -72,37 +72,33 @@ int main()
     size_t clsLen = 0;
     ReadFileContent(clsPath, clsData, clsLen);
 
-    //ModelDataArray modeDataInfor;
-    //modeDataInfor.modelCount = 4;
-    //modeDataInfor.modelDatas = new ModelData[4];
-    //modeDataInfor.modelDatas[0].data = detData;
-    //modeDataInfor.modelDatas[0].size = detLen;
-    //modeDataInfor.modelDatas[0].identifier = "dectModelOnnx";
-    //modeDataInfor.modelDatas[1].data = recData;
-    //modeDataInfor.modelDatas[1].size = recLen;
-    //modeDataInfor.modelDatas[1].identifier = "recModelOnnx";
-    //modeDataInfor.modelDatas[2].data = recKeyData;
-    //modeDataInfor.modelDatas[2].size = recKeyLen;
-    //modeDataInfor.modelDatas[2].identifier = "keyTxt";
-    //modeDataInfor.modelDatas[3].data = clsData;
-    //modeDataInfor.modelDatas[3].size = clsLen;
-    //modeDataInfor.modelDatas[3].identifier = "clsModelOnnx";
-
-    ModelDatasOnnx modeDataInfor;
-
-    modeDataInfor.detData = detData;
-    modeDataInfor.detLen = detLen;
-
-    modeDataInfor.recData = recData;
-    modeDataInfor.recLen = recLen;
-
-    modeDataInfor.recKeysData = recKeyData;
-    modeDataInfor.recKeysLen = recKeyLen;
-
-    modeDataInfor.clsData = clsData;
-    modeDataInfor.clsLen = clsLen;
-
-    LoadNetWorksOnnx(idCard, modeDataInfor);
+    ModelDataArray modeBuffer;
+    modeBuffer.modelCount = 4;
+    modeBuffer.modelDatas = new ModelData[4];
+    modeBuffer.modelDatas[0].data = detData;
+    modeBuffer.modelDatas[0].size = detLen;
+    modeBuffer.modelDatas[0].identifier = "dectModelOnnx";
+    modeBuffer.modelDatas[1].data = recData;
+    modeBuffer.modelDatas[1].size = recLen;
+    modeBuffer.modelDatas[1].identifier = "recModelOnnx";
+    modeBuffer.modelDatas[2].data = recKeyData;
+    modeBuffer.modelDatas[2].size = recKeyLen;
+    modeBuffer.modelDatas[2].identifier = "keyTxt";
+    modeBuffer.modelDatas[3].data = clsData;
+    modeBuffer.modelDatas[3].size = clsLen;
+    modeBuffer.modelDatas[3].identifier = "clsModelOnnx";
+     LoadNetWorks(idCard, modeBuffer);
+
+    //ModelDatasOnnx modeBuffer;
+    //modeBuffer.detData = detData;
+    //modeBuffer.detLen = detLen;
+    //modeBuffer.recData = recData;
+    //modeBuffer.recLen = recLen;
+    //modeBuffer.recKeysData = recKeyData;
+    //modeBuffer.recKeysLen = recKeyLen;
+    //modeBuffer.clsData = clsData;
+    //modeBuffer.clsLen = clsLen;
+    //LoadNetWorksOnnx(idCard, modeBuffer);
 
 #else
     std::string filePath = "";
@@ -132,38 +128,42 @@ int main()
     size_t keyTxtLen = 0;
     ReadFileContent(filePath, keyTxt, keyTxtLen);
 
-    //ModelsBuffer modeDataInfor;
-    //modeDataInfor.count = 5;
-    //modeDataInfor.modelsBuffer = new DataBufStruct[5];
-    //modeDataInfor.modelsBuffer[0].data = detBin;
-    //modeDataInfor.modelsBuffer[0].len = detBinLen;
-    //modeDataInfor.modelsBuffer[0].dataType = NcnnBin;
-    //modeDataInfor.modelsBuffer[1].data = detParam;
-    //modeDataInfor.modelsBuffer[1].len = detParamLen;
-    //modeDataInfor.modelsBuffer[1].dataType = NcnnParam;
-    //modeDataInfor.modelsBuffer[2].data = recBin;
-    //modeDataInfor.modelsBuffer[2].len = recBinLen;
-    //modeDataInfor.modelsBuffer[2].dataType = NcnnBin;
-    //modeDataInfor.modelsBuffer[3].data = recParam;
-    //modeDataInfor.modelsBuffer[3].len = recParamLen;
-    //modeDataInfor.modelsBuffer[3].dataType = NcnnParam;
-    //modeDataInfor.modelsBuffer[4].data = keyTxt;
-    //modeDataInfor.modelsBuffer[4].len = keyTxtLen;
-    //modeDataInfor.modelsBuffer[4].dataType = KeyTxt;
-
-    ModelDatasNcnn modeDataInforIn;
-    modeDataInforIn.detBinData = detBin;
-    modeDataInforIn.detBinLen = detBinLen;
-    modeDataInforIn.detParamData = detParam;
-    modeDataInforIn.detParamLen = detParamLen;
-    modeDataInforIn.recBinData = recBin;
-    modeDataInforIn.recBinLen = recBinLen;
-    modeDataInforIn.recParamData = recParam;
-    modeDataInforIn.recParamLen = recParamLen;
-    modeDataInforIn.recKeysData = keyTxt;
-    modeDataInforIn.recKeysLen = keyTxtLen;
-
-    LoadNetWorksNcnn(idCard, modeDataInforIn);
+    std::vector<std::string> supportedIdentifiers = { "dectModelOnnx", "recModelOnnx", "clsModelOnnx",
+    "decBinNcnn", "decParamNcnn", "recBinNcnn", "recParamNcnn", "keyTxt" };
+
+    ModelDataArray modeBuffer;
+    modeBuffer.modelCount = 5;
+    modeBuffer.modelDatas = new ModelData[5];
+    modeBuffer.modelDatas[0].data = detBin;
+    modeBuffer.modelDatas[0].size = detBinLen;
+    modeBuffer.modelDatas[0].identifier = "decBinNcnn";
+    modeBuffer.modelDatas[1].data = detParam;
+    modeBuffer.modelDatas[1].size = detParamLen;
+    modeBuffer.modelDatas[1].identifier = "decParamNcnn";
+    modeBuffer.modelDatas[2].data = recBin;
+    modeBuffer.modelDatas[2].size = recBinLen;
+    modeBuffer.modelDatas[2].identifier = "recBinNcnn";
+    modeBuffer.modelDatas[3].data = recParam;
+    modeBuffer.modelDatas[3].size = recParamLen;
+    modeBuffer.modelDatas[3].identifier = "recParamNcnn";
+    modeBuffer.modelDatas[4].data = keyTxt;
+    modeBuffer.modelDatas[4].size = keyTxtLen;
+    modeBuffer.modelDatas[4].identifier = "keyTxt";
+    LoadNetWorks(idCard, modeBuffer);
+
+    //ModelDatasNcnn modeBuffer;
+    //modeBuffer.detBinData = detBin;
+    //modeBuffer.detBinLen = detBinLen;
+    //modeBuffer.detParamData = detParam;
+    //modeBuffer.detParamLen = detParamLen;
+    //modeBuffer.recBinData = recBin;
+    //modeBuffer.recBinLen = recBinLen;
+    //modeBuffer.recParamData = recParam;
+    //modeBuffer.recParamLen = recParamLen;
+    //modeBuffer.recKeysData = keyTxt;
+    //modeBuffer.recKeysLen = keyTxtLen;
+
+    //LoadNetWorksNcnn(idCard, modeDataInforIn);
 
 
 #endif