diff --git a/Doc/交互逻辑.xls b/Doc/交互逻辑.xls index d6fb30bf..0dfe195a 100644 Binary files a/Doc/交互逻辑.xls and b/Doc/交互逻辑.xls differ diff --git a/HanddleAI/HandleAiUi-new/algo/ALGO_Inspection.h b/HanddleAI/HandleAiUi-new/algo/ALGO_Inspection.h index d91cb484..e27ad967 100644 --- a/HanddleAI/HandleAiUi-new/algo/ALGO_Inspection.h +++ b/HanddleAI/HandleAiUi-new/algo/ALGO_Inspection.h @@ -115,7 +115,14 @@ void ALGO_Inspection(std::shared_ptr data, handleAiModelManager* _hand case 5://STARGAZER halconImgResult.push_back(stargazerHalconAlgo(data, src(BboxToRect(connector)))); data->handleAiEndTime = std::chrono::high_resolution_clock::now(); - aiImgResult.push_back(stargazerHandleAiAlgo(data, _handleAiModelManager)); + aiImgResult.push_back(stargazerHandleAiAlgo(data, src(BboxToRect(connector)), _handleAiModelManager)); + data->halconEndTime = std::chrono::high_resolution_clock::now(); + tempCompared = true; + break; + case 6://STARGAZER HUGE + halconImgResult.push_back(stargazerHalconAlgo(data, src(BboxToRect(connector)))); + data->handleAiEndTime = std::chrono::high_resolution_clock::now(); + aiImgResult.push_back(stargazerHandleAiAlgo(data, src(BboxToRect(connector)), _handleAiModelManager)); data->halconEndTime = std::chrono::high_resolution_clock::now(); break; case 1://APEX SMALL diff --git a/HanddleAI/HandleAiUi-new/algo/ALGO_MAIN.h b/HanddleAI/HandleAiUi-new/algo/ALGO_MAIN.h index 437b60f0..29287504 100644 --- a/HanddleAI/HandleAiUi-new/algo/ALGO_MAIN.h +++ b/HanddleAI/HandleAiUi-new/algo/ALGO_MAIN.h @@ -23,6 +23,7 @@ bool processAlgo(std::shared_ptr data, handleAiModelManager* _handleAi catch (const std::exception& e) { std::cerr << "Caught exception: " << e.what() << std::endl; + std::cout << "Caught exception: " << e.what() << std::endl; return false; } return false; diff --git a/HanddleAI/HandleAiUi-new/algo/CISCO_STARGAZER.hpp b/HanddleAI/HandleAiUi-new/algo/CISCO_STARGAZER.hpp index 5b33d34b..e6a06846 100644 --- a/HanddleAI/HandleAiUi-new/algo/CISCO_STARGAZER.hpp +++ b/HanddleAI/HandleAiUi-new/algo/CISCO_STARGAZER.hpp @@ -90,10 +90,10 @@ static cv::Mat stargazerHalconAlgo(std::shared_ptrdata, cv::Mat& src) } //ÊäÈëdetÇгöµÄÁ¬½ÓÆ÷ͼƬ -static cv::Mat stargazerHandleAiAlgo(std::shared_ptrdata, handleAiModelManager* _handleAiModelManager) +static cv::Mat stargazerHandleAiAlgo(std::shared_ptrdata, cv::Mat& src, handleAiModelManager* _handleAiModelManager) { handleAiModelSeg* segPtr = _handleAiModelManager->getSegModel("APEX-Seg"); handleAiModelCls* clsPtr = _handleAiModelManager->getClsModel("APEX-Cls"); - return cv::Mat(); + return src; } #pragma once \ No newline at end of file diff --git a/HanddleAI/HandleAiUi-new/algo/simpleAlgo.h b/HanddleAI/HandleAiUi-new/algo/simpleAlgo.h index 778229e7..c15f9b2e 100644 --- a/HanddleAI/HandleAiUi-new/algo/simpleAlgo.h +++ b/HanddleAI/HandleAiUi-new/algo/simpleAlgo.h @@ -706,6 +706,15 @@ struct rectAndData //ƽÆÌͼÏñ static cv::Mat tiledImages(std::vector& imgs) { + if (imgs.size() == 0) + return cv::imread("./noimg.png",-1); + if (imgs.size() == 1) + return imgs[0]; + for (auto& img : imgs) + { + if (img.channels() == 1) + cv::cvtColor(img, img, cv::COLOR_GRAY2BGR); + } //×ÜͼÏñ´óС ƽÆÌÏÔʾ int matWidth = 0, matHeight = 0; for (auto& mat : imgs) diff --git a/HanddleAI/HandleAiUi-new/back/detData.h b/HanddleAI/HandleAiUi-new/back/detData.h index 23577b81..6f010672 100644 --- a/HanddleAI/HandleAiUi-new/back/detData.h +++ b/HanddleAI/HandleAiUi-new/back/detData.h @@ -84,7 +84,7 @@ public: std::vectorimgSaveFileParameter;//ÃüÃû¹æÔò str1_str2... µÚһ¸ö²ÎÊýÒÑĬÈÏΪÏà»úÃû£¬Ôڹ¹Ô캯Êý //ÐèҪ´æÈëµÄSQLÊý¾Ý - std::vector> sqlVec; + std::vector> sqlVec; detData(std::string IN_cameraKeyName) { cameraKeyName = IN_cameraKeyName; diff --git a/HanddleAI/HandleAiUi-new/detProcess.hpp b/HanddleAI/HandleAiUi-new/detProcess.hpp index d19f2148..b92b08cc 100644 --- a/HanddleAI/HandleAiUi-new/detProcess.hpp +++ b/HanddleAI/HandleAiUi-new/detProcess.hpp @@ -273,6 +273,8 @@ public: //¼ì²â½á¹û´¦Àí void detectionResultHandle(std::shared_ptrdata) { + data->sqlVec.push_back({ "SN",data->SNcode }); + data->sqlVec.push_back({ "ARMPOS",std::to_string(data->armPos)}); //·¢ËÍͼƬ if (data->resultImgs.size() > 0) { @@ -306,25 +308,26 @@ public: emit _core._qtFunc.addDashBoardData(1, data->aiDetOK); emit _core._qtFunc.uiModuleLocationMap_SetProductSignStatus(data->armPos, (data->halconOK==true&& data->aiDetOK==true)?2:3); - bool finalOk = (data->halconOK == true || data->aiDetOK == true)? true :false; - if(finalOk=false) + bool finalOk = (data->halconOK == true && data->aiDetOK == true); + if(finalOk == false) { - for (auto showMat : data->resultImgs) + for (auto& showMat : data->resultImgs) { QPixmap pixmap; cvMatToQPixMap(showMat, pixmap); - showImgPack* pack = new showImgPack(); + //showImgPack* pack = new showImgPack(); emit _core._qtFunc.uiModuleImageDoubleCheckQdialog_ShowWindows(pixmap); } } auto productData = _core._productDataCache.get(currentSn); - if (finalOk = false) + if (finalOk == false) productData->ngCount++; perConnector _perConnectorData; _perConnectorData.aiOk = data->aiDetOK; _perConnectorData.halconOk = data->halconOK; _perConnectorData.maxPinDetValue = data->maxPinDetValue; productData->connectorResults.push_back(_perConnectorData); + data->sqlVec.push_back({ "Result",std::to_string(finalOk)}); } //ct¼ÆËãÒԼ°·¢Ë͵½½çÃæ auto totalCt = std::chrono::duration_cast(data->halconEndTime - data->algoStartTime); @@ -336,11 +339,13 @@ public: emit _core._qtFunc.addCtData(1, aiCt.count()); if (halconCt.count() > 0) emit _core._qtFunc.addCtData(2, halconCt.count()); - + data->sqlVec.push_back({ "totalCt",std::to_string(totalCt.count()) }); + data->sqlVec.push_back({ "aiCt",std::to_string(aiCt.count()) }); + data->sqlVec.push_back({ "halconCt",std::to_string(halconCt.count()) }); //SQL std::vector sqlDatas; for (auto sqlData : data->sqlVec) - sqlDatas.push_back({ sqlData.first, std::to_string(sqlData.second) }); + sqlDatas.push_back({ sqlData.first, sqlData.second }); _core._appConfig._sqlManager.addData(data->SNcode, sqlDatas); //дÈëplc @@ -378,5 +383,10 @@ public slots: _triggerManager.sendFinsMsg("write_short_350_" + QString::number(_core._appConfig.productDatas[productTypeIn].indexOfArm)); _triggerManager.sendFinsMsg("write_short_351_1"); } + //È˹¤¸´Å̰´ÏÂNG + void uiModuleImageDoubleCheckQdialog_pressNG() + { + _triggerManager.sendFinsMsg("write_short_363_1"); + } }; #pragma once \ No newline at end of file diff --git a/HanddleAI/HandleAiUi-new/main.cpp b/HanddleAI/HandleAiUi-new/main.cpp index a80d82d5..659ab3c9 100644 --- a/HanddleAI/HandleAiUi-new/main.cpp +++ b/HanddleAI/HandleAiUi-new/main.cpp @@ -107,8 +107,12 @@ void connectSignalAndSlots(MainWindow* front, appCore* _core, detProcess* _detPr front->_displayWidget->_uiModuleLocationMap, &uiModuleLocationMap::resetToDefault); QObject::connect(&_core->_qtFunc, &qtFunction::uiModuleLocationMap_SetProductSignStatus, front, &MainWindow::uiModuleLocationMapSetProductSignStatus); + //uiModuleImageDoubleCheckQdialog QObject::connect(&_core->_qtFunc, &qtFunction::uiModuleImageDoubleCheckQdialog_ShowWindows, front, [=](QPixmap map) {front->_imageDoubleCheckQdialog->showAndSetImg(map); }); + QObject::connect(front->_imageDoubleCheckQdialog,&imageDoubleCheckQdialog::ngSignal, + _detProcess, &detProcess::uiModuleImageDoubleCheckQdialog_pressNG); + //uiModuleSummaryDataManager QObject::connect(&_core->_qtFunc, &qtFunction::uiModuleSummaryDataManager_SetSummaryResultText, front, [=](QString text, Qt::GlobalColor color) {front->_displayWidget->_summaryDataManager->setSummaryResult(text, color); }); diff --git a/HanddleAI/HandleAiUi-new/uiModule/uiModule_imageDoubleCheckQdialog.h b/HanddleAI/HandleAiUi-new/uiModule/uiModule_imageDoubleCheckQdialog.h index 9025dd05..3d966ba1 100644 --- a/HanddleAI/HandleAiUi-new/uiModule/uiModule_imageDoubleCheckQdialog.h +++ b/HanddleAI/HandleAiUi-new/uiModule/uiModule_imageDoubleCheckQdialog.h @@ -17,6 +17,8 @@ public: QPushButton* closeBtn = new QPushButton(this); fancyButtonText* okBtn = new fancyButtonText(120, 40, "OK", "¼ÌÐø"); fancyButtonText* ngBtn = new fancyButtonText(120, 40, "NG", "¼ÌÐø"); + QMutex mutex; + QQueue< QPixmap>imgqueue; imageDoubleCheckQdialog() { QPalette paletteWhite, paletteRed, paletteGreen; @@ -81,21 +83,21 @@ public: menuBarLayoutRight->addWidget(closeBtn); QObject::connect(closeBtn, &QPushButton::clicked, this, &QDialog::close); - + QHBoxLayout* imageViewLayout = new QHBoxLayout(); imageViewLayout->addWidget(_ImageWidgetManager); _ImageWidgetManager->createViewer(""); _ImageWidgetManager->disableAllSwitchBtn(); - + QHBoxLayout* okngBtnLayout = new QHBoxLayout(); okngBtnLayout->addWidget(okBtn); okngBtnLayout->addWidget(ngBtn); - QObject::connect(okBtn, &QPushButton::clicked, this, &QDialog::close); - QObject::connect(ngBtn, &QPushButton::clicked, this, &QDialog::close); - QObject::connect(okBtn, &QPushButton::clicked, this, [=]() {emit okSignal(); }); - QObject::connect(ngBtn, &QPushButton::clicked, this, [=]() {emit ngSignal(); }); + //QObject::connect(okBtn, &QPushButton::clicked, this, &QDialog::close); + //QObject::connect(ngBtn, &QPushButton::clicked, this, &QDialog::close); + QObject::connect(okBtn, &QPushButton::clicked, this, [=]() {pressOK(); }); + QObject::connect(ngBtn, &QPushButton::clicked, this, [=]() {pressNG(); }); layout->addWidget(menuBarWidget, 0, 0); layout->addLayout(imageViewLayout, 1, 0); @@ -105,13 +107,57 @@ public: } void showAndSetImg(QPixmap img) { - _ImageWidgetManager->showImg(img, imgWidgetShowType::imgWidgetOri, 0); - this->show(); + mutex.lock(); + std::cout << isShowing<<"-" << imgqueue.size()<< std::endl; + if (isShowing == false && imgqueue.size() == 0) + { + _ImageWidgetManager->showImg(img, imgWidgetShowType::imgWidgetOri, 0); + this->show(); + isShowing = true; + } + else + { + imgqueue.enqueue(img); + } + mutex.unlock(); } signals: void okSignal(); void ngSignal(); private: + void pressOK() + { + mutex.lock(); + emit okSignal(); + if (imgqueue.size() > 0) + { + QPixmap img = imgqueue.dequeue(); + _ImageWidgetManager->showImg(img, imgWidgetShowType::imgWidgetOri, 0); + } + else + { + isShowing = false; + close(); + } + mutex.unlock(); + } + void pressNG() + { + mutex.lock(); + emit ngSignal(); + if (imgqueue.size() > 0) + { + QPixmap img = imgqueue.dequeue(); + _ImageWidgetManager->showImg(img, imgWidgetShowType::imgWidgetOri, 0); + } + else + { + isShowing = false; + close(); + } + mutex.unlock(); + } + bool isShowing = false; bool isMoving = false; bool isResizing = false; int minWidth = 720, minHeight = 480; diff --git a/configBackup/config/productConfig/ASR1006.json b/configBackup/config/productConfig/ASR1006.json index d6900317..ac76443c 100644 --- a/configBackup/config/productConfig/ASR1006.json +++ b/configBackup/config/productConfig/ASR1006.json @@ -11,6 +11,8 @@ "baseRz":-0.676582, "connectorAmout":12, "halconAlgoIndex":0, + "isBackExist":false, + "backArmIndex":-1, "cameraSetting": { "0":"Gain:60/Expouse:25000" diff --git a/configBackup/config/productConfig/ASR1009.json b/configBackup/config/productConfig/ASR1009.json index ae0c9fc0..0f58b8c7 100644 --- a/configBackup/config/productConfig/ASR1009.json +++ b/configBackup/config/productConfig/ASR1009.json @@ -12,6 +12,8 @@ "baseRz":0.676582, "connectorAmout":18, "halconAlgoIndex":0, + "isBackExist":false, + "backArmIndex":-1, "cameraSetting": { "0":"Gain:60/Expouse:25000" diff --git a/configBackup/config/productConfig/C9504.json b/configBackup/config/productConfig/C9504.json index 3dbd4a4c..736443b5 100644 --- a/configBackup/config/productConfig/C9504.json +++ b/configBackup/config/productConfig/C9504.json @@ -12,6 +12,8 @@ "baseRz":0.00, "connectorAmout":-1, "halconAlgoIndex":1, + "isBackExist":false, + "backArmIndex":-1, "cameraSetting": { "0":"Gain:60/Expouse:25000" diff --git a/configBackup/config/productConfig/CS9600.json b/configBackup/config/productConfig/CS9600.json index 1de650f9..0c318d64 100644 --- a/configBackup/config/productConfig/CS9600.json +++ b/configBackup/config/productConfig/CS9600.json @@ -12,6 +12,8 @@ "baseRz":0.00, "connectorAmout":-1, "halconAlgoIndex":0, + "isBackExist":false, + "backArmIndex":-1, "cameraSetting": { "0":"Gain:60/Expouse:25000" diff --git a/configBackup/config/productConfig/MDS9706.json b/configBackup/config/productConfig/MDS9706.json index a1b458c6..e5571a7a 100644 --- a/configBackup/config/productConfig/MDS9706.json +++ b/configBackup/config/productConfig/MDS9706.json @@ -12,6 +12,8 @@ "baseRz":0.00, "connectorAmout":-1, "halconAlgoIndex":1, + "isBackExist":false, + "backArmIndex":-1, "cameraSetting": { "0":"Gain:60/Expouse:25000" diff --git a/configBackup/config/productConfig/MDS9706B.json b/configBackup/config/productConfig/MDS9706B.json new file mode 100644 index 00000000..80eced5e --- /dev/null +++ b/configBackup/config/productConfig/MDS9706B.json @@ -0,0 +1,51 @@ +{ + "productName":"APEX6B", + "customerPartNumber":"DS-C9706B", + "foxconnPartNumber":"1A211UH00B", + "imgPosPath":"./imgPosTip/Test1.jpg", + "productIndex":8, + "baseX":0.00, + "baseY":0.00, + "baseZ":0.00, + "baseRx":0.00, + "baseRy":0.00, + "baseRz":0.00, + "connectorAmout":-1, + "halconAlgoIndex":1, + "isBackExist":false, + "backArmIndex":-1, + "cameraSetting": + { + "0":"Gain:60/Expouse:25000" + }, + "lightSetting": + { + "0":255 + }, + "disableHandleAiConfig":false, + "enableCodedAlgo":false, + "codedAlgoIndex":-1, + "HandleAi": + { + "detModelName":"connectorDet.BHD", + "detGpuIndex":0, + "segHandle": + [ + { + "detResultIndex":[0], + "segModelName":"ASR-Seg.BHD", + "segNgIndex":[0,1,2], + "segGpuIndex":0, + "clsModelName":"ASR-Cls.BHD", + "clsNgIndex":[0,1,2], + "clsResultHandle": + { + "0":"OK,0,255,0", + "1":"NG,255,0,0" + } + } + ] + } + + +} \ No newline at end of file diff --git a/configBackup/config/productConfig/MDS9710.json b/configBackup/config/productConfig/MDS9710.json index d9642beb..3289befc 100644 --- a/configBackup/config/productConfig/MDS9710.json +++ b/configBackup/config/productConfig/MDS9710.json @@ -12,6 +12,8 @@ "baseRz":0.00, "connectorAmout":-1, "halconAlgoIndex":0, + "isBackExist":true, + "backArmIndex":9, "cameraSetting": { "0":"Gain:60/Expouse:25000" @@ -25,6 +27,24 @@ "codedAlgoIndex":-1, "HandleAi": { + "detModelName":"connectorDet.BHD", + "detGpuIndex":0, + "segHandle": + [ + { + "detResultIndex":[0], + "segModelName":"ASR-Seg.BHD", + "segNgIndex":[0,1,2], + "segGpuIndex":0, + "clsModelName":"ASR-Cls.BHD", + "clsNgIndex":[0,1,2], + "clsResultHandle": + { + "0":"OK,0,255,0", + "1":"NG,255,0,0" + } + } + ] } diff --git a/configBackup/config/productConfig/MDS9710B.json b/configBackup/config/productConfig/MDS9710B.json new file mode 100644 index 00000000..4a4ed4c6 --- /dev/null +++ b/configBackup/config/productConfig/MDS9710B.json @@ -0,0 +1,51 @@ +{ + "productName":"APEX10B", + "customerPartNumber":"DS-C9710B", + "foxconnPartNumber":"800-39628-05B", + "imgPosPath":"./imgPosTip/Test1.jpg", + "productIndex":9, + "baseX":0.00, + "baseY":0.00, + "baseZ":0.00, + "baseRx":0.00, + "baseRy":0.00, + "baseRz":0.00, + "connectorAmout":-1, + "halconAlgoIndex":0, + "isBackExist":false, + "backArmIndex":-1, + "cameraSetting": + { + "0":"Gain:60/Expouse:25000" + }, + "lightSetting": + { + "0":255 + }, + "disableHandleAiConfig":false, + "enableCodedAlgo":false, + "codedAlgoIndex":-1, + "HandleAi": + { + "detModelName":"connectorDet.BHD", + "detGpuIndex":0, + "segHandle": + [ + { + "detResultIndex":[0], + "segModelName":"ASR-Seg.BHD", + "segNgIndex":[0,1,2], + "segGpuIndex":0, + "clsModelName":"ASR-Cls.BHD", + "clsNgIndex":[0,1,2], + "clsResultHandle": + { + "0":"OK,0,255,0", + "1":"NG,255,0,0" + } + } + ] + } + + +} \ No newline at end of file diff --git a/configBackup/config/productConfig/MDS9718.json b/configBackup/config/productConfig/MDS9718.json index 01d28c16..094c6945 100644 --- a/configBackup/config/productConfig/MDS9718.json +++ b/configBackup/config/productConfig/MDS9718.json @@ -10,8 +10,10 @@ "baseRx":0.00, "baseRy":0.00, "baseRz":0.00, - "connectorAmout":96, + "connectorAmout":-1, "halconAlgoIndex":0, + "isBackExist":true, + "backArmIndex":7, "cameraSetting": { "0":"Gain:60/Expouse:25000" @@ -31,7 +33,7 @@ [ { "detResultIndex":[0], - "segModelName":"APEX-Seg.BHD", + "segModelName":"ASR-Seg.BHD", "segNgIndex":[0,1,2], "segGpuIndex":0, "clsModelName":"ASR-Cls.BHD", @@ -44,66 +46,681 @@ } ] }, - "productSign": - { - "1": { - "x": 1305, - "y": 10, - "w": 150, - "h": 160, - "sign": "列1行1" - }, - "2": { - "x": 1305, - "y": 170, - "w": 150, - "h": 160, - "sign": "列1行2" - }, - "3": { - "x": 1305, - "y": 330, - "w": 150, - "h": 160, - "sign": "列1行3" - }, - "4": { - "x": 1305, - "y": 490, - "w": 150, - "h": 160, - "sign": "列1行4" - }, - "5": { - "x": 1305, - "y": 650, - "w": 150, - "h": 160, - "sign": "列1行5" - }, - "6": { - "x": 1305, - "y": 810, - "w": 150, - "h": 160, - "sign": "列1行6" - }, - "7": { - "x": 1305, - "y": 970, - "w": 150, - "h": 160, - "sign": "列1行7" - }, - "8": { - "x": 1305, - "y": 1130, - "w": 150, - "h": 160, - "sign": "列1行8" - } + "productSign": { + "1": { + "x": 1305, + "y": 10, + "w": 150, + "h": 160, + "sign": "列1行1" + }, + "2": { + "x": 1305, + "y": 170, + "w": 150, + "h": 160, + "sign": "列1行2" + }, + "3": { + "x": 1305, + "y": 330, + "w": 150, + "h": 160, + "sign": "列1行3" + }, + "4": { + "x": 1305, + "y": 490, + "w": 150, + "h": 160, + "sign": "列1行4" + }, + "5": { + "x": 1305, + "y": 650, + "w": 150, + "h": 160, + "sign": "列1行5" + }, + "6": { + "x": 1305, + "y": 810, + "w": 150, + "h": 160, + "sign": "列1行6" + }, + "7": { + "x": 1305, + "y": 970, + "w": 150, + "h": 160, + "sign": "列1行7" + }, + "8": { + "x": 1305, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列1行8" + }, + "9": { + "x": 1095, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列2行8" + }, + "10": { + "x": 1095, + "y": 970, + "w": 150, + "h": 160, + "sign": "列2行7" + }, + "11": { + "x": 1095, + "y": 810, + "w": 150, + "h": 160, + "sign": "列2行6" + }, + "12": { + "x": 1095, + "y": 650, + "w": 150, + "h": 160, + "sign": "列2行5" + }, + "13": { + "x": 1095, + "y": 490, + "w": 150, + "h": 160, + "sign": "列2行4" + }, + "14": { + "x": 1095, + "y": 330, + "w": 150, + "h": 160, + "sign": "列2行3" + }, + "15": { + "x": 1095, + "y": 170, + "w": 150, + "h": 160, + "sign": "列2行2" + }, + "16": { + "x": 1095, + "y": 10, + "w": 150, + "h": 160, + "sign": "列2行1" + }, + "17": { + "x": 875, + "y": 10, + "w": 150, + "h": 160, + "sign": "列3行1" + }, + "18": { + "x": 875, + "y": 170, + "w": 150, + "h": 160, + "sign": "列3行2" + }, + "19": { + "x": 875, + "y": 330, + "w": 150, + "h": 160, + "sign": "列3行3" + }, + "20": { + "x": 875, + "y": 490, + "w": 150, + "h": 160, + "sign": "列3行4" + }, + "21": { + "x": 875, + "y": 650, + "w": 150, + "h": 160, + "sign": "列3行5" + }, + "22": { + "x": 875, + "y": 810, + "w": 150, + "h": 160, + "sign": "列3行6" + }, + "23": { + "x": 875, + "y": 970, + "w": 150, + "h": 160, + "sign": "列3行7" + }, + "24": { + "x": 875, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列3行8" + }, + "25": { + "x": 655, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列4行8" + }, + "26": { + "x": 655, + "y": 970, + "w": 150, + "h": 160, + "sign": "列4行7" + }, + "27": { + "x": 655, + "y": 810, + "w": 150, + "h": 160, + "sign": "列4行6" + }, + "28": { + "x": 655, + "y": 650, + "w": 150, + "h": 160, + "sign": "列4行5" + }, + "29": { + "x": 655, + "y": 490, + "w": 150, + "h": 160, + "sign": "列4行4" + }, + "30": { + "x": 655, + "y": 330, + "w": 150, + "h": 160, + "sign": "列4行3" + }, + "31": { + "x": 655, + "y": 170, + "w": 150, + "h": 160, + "sign": "列4行2" + }, + "32": { + "x": 655, + "y": 10, + "w": 150, + "h": 160, + "sign": "列4行1" + }, + "33": { + "x": 405, + "y": 10, + "w": 150, + "h": 160, + "sign": "列5行1" + }, + "34": { + "x": 405, + "y": 170, + "w": 150, + "h": 160, + "sign": "列5行2" + }, + "35": { + "x": 405, + "y": 330, + "w": 150, + "h": 160, + "sign": "列5行3" + }, + "36": { + "x": 405, + "y": 490, + "w": 150, + "h": 160, + "sign": "列5行4" + }, + "37": { + "x": 405, + "y": 650, + "w": 150, + "h": 160, + "sign": "列5行5" + }, + "38": { + "x": 405, + "y": 810, + "w": 150, + "h": 160, + "sign": "列5行6" + }, + "39": { + "x": 405, + "y": 970, + "w": 150, + "h": 160, + "sign": "列5行7" + }, + "40": { + "x": 405, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列5行8" + }, + "41": { + "x": 155, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列6行1" + }, + "42": { + "x": 155, + "y": 970, + "w": 150, + "h": 160, + "sign": "列6行2" + }, + "43": { + "x": 155, + "y": 810, + "w": 150, + "h": 160, + "sign": "列6行3" + }, + "44": { + "x": 155, + "y": 650, + "w": 150, + "h": 160, + "sign": "列6行4" + }, + "45": { + "x": 155, + "y": 490, + "w": 150, + "h": 160, + "sign": "列6行5" + }, + "46": { + "x": 155, + "y": 330, + "w": 150, + "h": 160, + "sign": "列6行6" + }, + "47": { + "x": 155, + "y": 170, + "w": 150, + "h": 160, + "sign": "列6行7" + }, + "48": { + "x": 155, + "y": 10, + "w": 150, + "h": 160, + "sign": "列6行8" + }, + "49": { + "x": 1305, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列1行9" + }, + "50": { + "x": 1305, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列1行10" + }, + "51": { + "x": 1305, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列1行11" + }, + "52": { + "x": 1305, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列1行12" + }, + "53": { + "x": 1305, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列1行13" + }, + "54": { + "x": 1305, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列1行14" + }, + "55": { + "x": 1305, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列1行15" + }, + "56": { + "x": 1305, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列1行16" + }, + "57": { + "x": 1095, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列2行16" + }, + "58": { + "x": 1095, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列2行15" + }, + "59": { + "x": 1095, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列2行14" + }, + "60": { + "x": 1095, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列2行13" + }, + "61": { + "x": 1095, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列2行12" + }, + "62": { + "x": 1095, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列2行11" + }, + "63": { + "x": 1095, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列2行10" + }, + "64": { + "x": 1095, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列2行9" + }, + "65": { + "x": 875, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列3行9" + }, + "66": { + "x": 875, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列3行10" + }, + "67": { + "x": 875, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列3行11" + }, + "68": { + "x": 875, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列3行12" + }, + "69": { + "x": 875, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列3行13" + }, + "70": { + "x": 875, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列3行14" + }, + "71": { + "x": 875, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列3行15" + }, + "72": { + "x": 875, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列3行16" + }, + "73": { + "x": 655, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列4行16" + }, + "74": { + "x": 655, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列4行15" + }, + "75": { + "x": 655, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列4行14" + }, + "76": { + "x": 655, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列4行13" + }, + "77": { + "x": 655, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列4行12" + }, + "78": { + "x": 655, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列4行11" + }, + "79": { + "x": 655, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列4行10" + }, + "80": { + "x": 655, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列4行9" + }, + "81": { + "x": 405, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列5行9" + }, + "82": { + "x": 405, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列5行10" + }, + "83": { + "x": 405, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列5行11" + }, + "84": { + "x": 405, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列5行12" + }, + "85": { + "x": 405, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列5行13" + }, + "86": { + "x": 405, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列5行14" + }, + "87": { + "x": 405, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列5行15" + }, + "88": { + "x": 405, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列5行16" + }, + "89": { + "x": 155, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列6行16" + }, + "90": { + "x": 155, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列6行15" + }, + "91": { + "x": 155, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列6行14" + }, + "92": { + "x": 155, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列6行13" + }, + "93": { + "x": 155, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列6行12" + }, + "94": { + "x": 155, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列6行11" + }, + "95": { + "x": 155, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列6行10" + }, + "96": { + "x": 155, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列6行9" } - - - -} \ No newline at end of file + } + + + + } \ No newline at end of file diff --git a/configBackup/config/productConfig/MDS9718B.json b/configBackup/config/productConfig/MDS9718B.json index 1cf6e18a..99ab485d 100644 --- a/configBackup/config/productConfig/MDS9718B.json +++ b/configBackup/config/productConfig/MDS9718B.json @@ -10,8 +10,10 @@ "baseRx":0.00, "baseRy":0.00, "baseRz":0.00, - "connectorAmout":96, + "connectorAmout":-1, "halconAlgoIndex":0, + "isBackExist":false, + "backArmIndex":-1, "cameraSetting": { "0":"Gain:60/Expouse:25000" @@ -31,7 +33,7 @@ [ { "detResultIndex":[0], - "segModelName":"APEX-Seg.BHD", + "segModelName":"ASR-Seg.BHD", "segNgIndex":[0,1,2], "segGpuIndex":0, "clsModelName":"ASR-Cls.BHD", @@ -44,64 +46,679 @@ } ] }, -"productSign": - { + "productSign": { "1": { - "x": 1305, - "y": 10, - "w": 150, - "h": 160, - "sign": "列1行1" + "x": 1305, + "y": 10, + "w": 150, + "h": 160, + "sign": "列1行1" }, "2": { - "x": 1305, - "y": 170, - "w": 150, - "h": 160, - "sign": "列1行2" + "x": 1305, + "y": 170, + "w": 150, + "h": 160, + "sign": "列1行2" }, "3": { - "x": 1305, - "y": 330, - "w": 150, - "h": 160, - "sign": "列1行3" + "x": 1305, + "y": 330, + "w": 150, + "h": 160, + "sign": "列1行3" }, "4": { - "x": 1305, - "y": 490, - "w": 150, - "h": 160, - "sign": "列1行4" + "x": 1305, + "y": 490, + "w": 150, + "h": 160, + "sign": "列1行4" }, "5": { - "x": 1305, - "y": 650, - "w": 150, - "h": 160, - "sign": "列1行5" + "x": 1305, + "y": 650, + "w": 150, + "h": 160, + "sign": "列1行5" }, "6": { - "x": 1305, - "y": 810, - "w": 150, - "h": 160, - "sign": "列1行6" + "x": 1305, + "y": 810, + "w": 150, + "h": 160, + "sign": "列1行6" }, "7": { - "x": 1305, - "y": 970, - "w": 150, - "h": 160, - "sign": "列1行7" + "x": 1305, + "y": 970, + "w": 150, + "h": 160, + "sign": "列1行7" }, "8": { - "x": 1305, - "y": 1130, - "w": 150, - "h": 160, - "sign": "列1行8" + "x": 1305, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列1行8" + }, + "9": { + "x": 1095, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列2行8" + }, + "10": { + "x": 1095, + "y": 970, + "w": 150, + "h": 160, + "sign": "列2行7" + }, + "11": { + "x": 1095, + "y": 810, + "w": 150, + "h": 160, + "sign": "列2行6" + }, + "12": { + "x": 1095, + "y": 650, + "w": 150, + "h": 160, + "sign": "列2行5" + }, + "13": { + "x": 1095, + "y": 490, + "w": 150, + "h": 160, + "sign": "列2行4" + }, + "14": { + "x": 1095, + "y": 330, + "w": 150, + "h": 160, + "sign": "列2行3" + }, + "15": { + "x": 1095, + "y": 170, + "w": 150, + "h": 160, + "sign": "列2行2" + }, + "16": { + "x": 1095, + "y": 10, + "w": 150, + "h": 160, + "sign": "列2行1" + }, + "17": { + "x": 875, + "y": 10, + "w": 150, + "h": 160, + "sign": "列3行1" + }, + "18": { + "x": 875, + "y": 170, + "w": 150, + "h": 160, + "sign": "列3行2" + }, + "19": { + "x": 875, + "y": 330, + "w": 150, + "h": 160, + "sign": "列3行3" + }, + "20": { + "x": 875, + "y": 490, + "w": 150, + "h": 160, + "sign": "列3行4" + }, + "21": { + "x": 875, + "y": 650, + "w": 150, + "h": 160, + "sign": "列3行5" + }, + "22": { + "x": 875, + "y": 810, + "w": 150, + "h": 160, + "sign": "列3行6" + }, + "23": { + "x": 875, + "y": 970, + "w": 150, + "h": 160, + "sign": "列3行7" + }, + "24": { + "x": 875, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列3行8" + }, + "25": { + "x": 655, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列4行8" + }, + "26": { + "x": 655, + "y": 970, + "w": 150, + "h": 160, + "sign": "列4行7" + }, + "27": { + "x": 655, + "y": 810, + "w": 150, + "h": 160, + "sign": "列4行6" + }, + "28": { + "x": 655, + "y": 650, + "w": 150, + "h": 160, + "sign": "列4行5" + }, + "29": { + "x": 655, + "y": 490, + "w": 150, + "h": 160, + "sign": "列4行4" + }, + "30": { + "x": 655, + "y": 330, + "w": 150, + "h": 160, + "sign": "列4行3" + }, + "31": { + "x": 655, + "y": 170, + "w": 150, + "h": 160, + "sign": "列4行2" + }, + "32": { + "x": 655, + "y": 10, + "w": 150, + "h": 160, + "sign": "列4行1" + }, + "33": { + "x": 405, + "y": 10, + "w": 150, + "h": 160, + "sign": "列5行1" + }, + "34": { + "x": 405, + "y": 170, + "w": 150, + "h": 160, + "sign": "列5行2" + }, + "35": { + "x": 405, + "y": 330, + "w": 150, + "h": 160, + "sign": "列5行3" + }, + "36": { + "x": 405, + "y": 490, + "w": 150, + "h": 160, + "sign": "列5行4" + }, + "37": { + "x": 405, + "y": 650, + "w": 150, + "h": 160, + "sign": "列5行5" + }, + "38": { + "x": 405, + "y": 810, + "w": 150, + "h": 160, + "sign": "列5行6" + }, + "39": { + "x": 405, + "y": 970, + "w": 150, + "h": 160, + "sign": "列5行7" + }, + "40": { + "x": 405, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列5行8" + }, + "41": { + "x": 155, + "y": 1130, + "w": 150, + "h": 160, + "sign": "列6行1" + }, + "42": { + "x": 155, + "y": 970, + "w": 150, + "h": 160, + "sign": "列6行2" + }, + "43": { + "x": 155, + "y": 810, + "w": 150, + "h": 160, + "sign": "列6行3" + }, + "44": { + "x": 155, + "y": 650, + "w": 150, + "h": 160, + "sign": "列6行4" + }, + "45": { + "x": 155, + "y": 490, + "w": 150, + "h": 160, + "sign": "列6行5" + }, + "46": { + "x": 155, + "y": 330, + "w": 150, + "h": 160, + "sign": "列6行6" + }, + "47": { + "x": 155, + "y": 170, + "w": 150, + "h": 160, + "sign": "列6行7" + }, + "48": { + "x": 155, + "y": 10, + "w": 150, + "h": 160, + "sign": "列6行8" + }, + "49": { + "x": 1305, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列1行9" + }, + "50": { + "x": 1305, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列1行10" + }, + "51": { + "x": 1305, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列1行11" + }, + "52": { + "x": 1305, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列1行12" + }, + "53": { + "x": 1305, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列1行13" + }, + "54": { + "x": 1305, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列1行14" + }, + "55": { + "x": 1305, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列1行15" + }, + "56": { + "x": 1305, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列1行16" + }, + "57": { + "x": 1095, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列2行16" + }, + "58": { + "x": 1095, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列2行15" + }, + "59": { + "x": 1095, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列2行14" + }, + "60": { + "x": 1095, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列2行13" + }, + "61": { + "x": 1095, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列2行12" + }, + "62": { + "x": 1095, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列2行11" + }, + "63": { + "x": 1095, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列2行10" + }, + "64": { + "x": 1095, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列2行9" + }, + "65": { + "x": 875, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列3行9" + }, + "66": { + "x": 875, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列3行10" + }, + "67": { + "x": 875, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列3行11" + }, + "68": { + "x": 875, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列3行12" + }, + "69": { + "x": 875, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列3行13" + }, + "70": { + "x": 875, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列3行14" + }, + "71": { + "x": 875, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列3行15" + }, + "72": { + "x": 875, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列3行16" + }, + "73": { + "x": 655, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列4行16" + }, + "74": { + "x": 655, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列4行15" + }, + "75": { + "x": 655, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列4行14" + }, + "76": { + "x": 655, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列4行13" + }, + "77": { + "x": 655, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列4行12" + }, + "78": { + "x": 655, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列4行11" + }, + "79": { + "x": 655, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列4行10" + }, + "80": { + "x": 655, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列4行9" + }, + "81": { + "x": 405, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列5行9" + }, + "82": { + "x": 405, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列5行10" + }, + "83": { + "x": 405, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列5行11" + }, + "84": { + "x": 405, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列5行12" + }, + "85": { + "x": 405, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列5行13" + }, + "86": { + "x": 405, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列5行14" + }, + "87": { + "x": 405, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列5行15" + }, + "88": { + "x": 405, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列5行16" + }, + "89": { + "x": 155, + "y": 2480, + "w": 150, + "h": 160, + "sign": "列6行16" + }, + "90": { + "x": 155, + "y": 2320, + "w": 150, + "h": 160, + "sign": "列6行15" + }, + "91": { + "x": 155, + "y": 2160, + "w": 150, + "h": 160, + "sign": "列6行14" + }, + "92": { + "x": 155, + "y": 2000, + "w": 150, + "h": 160, + "sign": "列6行13" + }, + "93": { + "x": 155, + "y": 1840, + "w": 150, + "h": 160, + "sign": "列6行12" + }, + "94": { + "x": 155, + "y": 1680, + "w": 150, + "h": 160, + "sign": "列6行11" + }, + "95": { + "x": 155, + "y": 1520, + "w": 150, + "h": 160, + "sign": "列6行10" + }, + "96": { + "x": 155, + "y": 1360, + "w": 150, + "h": 160, + "sign": "列6行9" } - } + } } \ No newline at end of file