From 7bec299f0019c2135e9927c5bb5765d8cd6750b8 Mon Sep 17 00:00:00 2001 From: "bob.pan" Date: Mon, 16 Aug 2021 09:26:28 +0800 Subject: [PATCH] backup code --- 3part/tadpole/include/tpBase/lpbengine.h | Bin 29336 -> 29410 bytes src/lpbengine/CDetectorEngine.cpp | 11 +++--- src/lpbengine/Task.cpp | 4 +++ src/lpbengine/Task.h | 1 + tpvs17/tpMain/lpMainWin.cpp | 12 ++++--- tpvs17/valveDetector/algEg.cpp | 6 +--- tpvs17/valveDetector/valveDetector.cpp | 43 +++++++++-------------- 7 files changed, 37 insertions(+), 40 deletions(-) diff --git a/3part/tadpole/include/tpBase/lpbengine.h b/3part/tadpole/include/tpBase/lpbengine.h index e09adf09b2865c0c0ae722a4060c6d4af043e291..844117590aa70ec54897bbce3448de55403b96f1 100644 GIT binary patch delta 54 zcmV-60LlNDh($ delta 22 ecmaF#lySyW#tj}ZlQ)=aO%BKq*nB2NObh^gvI(I8 diff --git a/src/lpbengine/CDetectorEngine.cpp b/src/lpbengine/CDetectorEngine.cpp index 5c33307..9663814 100644 --- a/src/lpbengine/CDetectorEngine.cpp +++ b/src/lpbengine/CDetectorEngine.cpp @@ -63,12 +63,15 @@ bool CDetectorEngine::detect(cv::Mat srcImg, QString modeName, AlgResultCallBack map.insert(pOutparam->strName, pOutparam->value); } } - map.insert("taskID", pTask->GetID()); - map.insert("originImage", EngineBase::convMat2QImage(srcImg)); - map.insert("tasktime", pTask->ExecTime()); + QVariantMap rltMap; + rltMap.insert("AlgoResult", map); + rltMap.insert("taskName", pTask->GetTaskName()); + rltMap.insert("taskID", pTask->GetID()); + rltMap.insert("originImage", EngineBase::convMat2QImage(srcImg)); + rltMap.insert("tasktime", pTask->ExecTime()); if (func) { - func(map); + func(rltMap); } } } diff --git a/src/lpbengine/Task.cpp b/src/lpbengine/Task.cpp index ce0e9c9..5381cea 100644 --- a/src/lpbengine/Task.cpp +++ b/src/lpbengine/Task.cpp @@ -50,6 +50,10 @@ PLP_DETECTOR_TASK CDetectorTask::GetTaskInfo() return &m_tTask; } +QString CDetectorTask::GetTaskName() +{ + return m_tTask.strName; +} IDetectorROI* CDetectorTask::AddROI(const PLP_DETECTOR_ROI pROI, bool bRet /* = true */) { if (NULL == pROI) diff --git a/src/lpbengine/Task.h b/src/lpbengine/Task.h index fba0446..176339f 100644 --- a/src/lpbengine/Task.h +++ b/src/lpbengine/Task.h @@ -27,6 +27,7 @@ public: virtual bool SetTaskInfo(const PLP_DETECTOR_TASK pTask); virtual PLP_DETECTOR_TASK GetTaskInfo(); + virtual QString GetTaskName(); void SetID(int nID); virtual int GetID() const; virtual int GetAlgoBaseID() const; diff --git a/tpvs17/tpMain/lpMainWin.cpp b/tpvs17/tpMain/lpMainWin.cpp index 85ebb7e..4ecc52f 100644 --- a/tpvs17/tpMain/lpMainWin.cpp +++ b/tpvs17/tpMain/lpMainWin.cpp @@ -622,9 +622,6 @@ void lpMainWin::IVariantMapToUI(const QString& camKey, const QVariantMap& vMap) QImage srcImg = vMap.value("srcImage").value(); cv::Mat srcMat = QImageToMat(srcImg); - - - emit(sgShowImgState(tr("显示识别结果"))); Result2Ui *pResult = parseMap(vMap.value("result").toMap()); if (pResult == nullptr) @@ -806,8 +803,15 @@ QVariant lpMainWin::IGetVariantById(int id) } -void lpMainWin::IEngineResult(QVariantMap vmap) +void lpMainWin::IEngineResult(QVariantMap vMap) { + QVariantMap algResult = vMap.value("AlgoResult").toMap(); + QImage srcImg = vMap.value("originImage").value(); + double dAngle = algResult.contains("angle") ? algResult.value("angle").toDouble() : 365; + int errorType = algResult.contains("error") ? algResult.value("error").toInt() : 16; + double matchScore = algResult.value("score").toDouble() * 100; + QString str = algResult.value("resultTip").toString(); + QString rltmsg = QString("%1 %2 %3").arg(dAngle).arg(errorType).arg(matchScore); } diff --git a/tpvs17/valveDetector/algEg.cpp b/tpvs17/valveDetector/algEg.cpp index 0979034..d02892b 100644 --- a/tpvs17/valveDetector/algEg.cpp +++ b/tpvs17/valveDetector/algEg.cpp @@ -53,11 +53,7 @@ bool algEg::Exec(IDetectorTask *lpTask, IDetectorAlgorithm* lpAlgorithm) qWarning() << "valve detect, gray is empty"; return false; } -// if (gray.size() != paramInput.roi.img.size()) -// { -// qWarning() << "img size not compare"; -// return false; -// } + luffy_imageProc::createImage(gray, mask, luffy_imageProc::emCreateColor); QString strObj = paramInput.strObj = lpTask->GetTaskInfo()->strName; bool bExist = true; diff --git a/tpvs17/valveDetector/valveDetector.cpp b/tpvs17/valveDetector/valveDetector.cpp index 1cd65ce..d4d7dbe 100644 --- a/tpvs17/valveDetector/valveDetector.cpp +++ b/tpvs17/valveDetector/valveDetector.cpp @@ -1175,32 +1175,25 @@ bool imageRotateMatch(Mat & imgSrc, InputParam ¶mIn, OutputParam ¶mOut, float m_Index = 0.0; Mat roi; roi.setTo(0); - for (int k = 0; k < selectRoi.rows; ++k) - { + for (int k = 0; k < selectRoi.rows; ++k) { //uchar *ptr = selectRoi.row(k).data; - for (int m = 0; m < selectRoi.cols; ++m) - { + for (int m = 0; m < selectRoi.cols; ++m) { //qDebug() << "k:" << k << "m :" << m ; float dis = luffy_math::disofPoints(Point2f(m, k), Point2f(wheelRoi.cols / 2.0, wheelRoi.rows / 2.0)); - if (dis > outterRadius || dis < innerRadius) - { + if (dis > outterRadius || dis < innerRadius) { continue; } float nIndex = luffy_math::caculAngle(Point2f(wheelRoi.cols / 2.0, wheelRoi.rows / 2.0), Point2f(m, k)); int flag = false; - for (int y = 0; y < candiateAngleRange.size(); ++y) - { + for (int y = 0; y < candiateAngleRange.size(); ++y) { - if (candiateAngleRange[y][0] > candiateAngleRange[y][1]) - { - if ((nIndex >= candiateAngleRange[y][0] && nIndex < 360) || (nIndex >=0 && nIndex <=candiateAngleRange[y][1])) - { + if (candiateAngleRange[y][0] > candiateAngleRange[y][1]) { + if ((nIndex >= candiateAngleRange[y][0] && nIndex < 360) || (nIndex >=0 && nIndex <=candiateAngleRange[y][1])) { const Mat& templ = templates[nIndex]; int nwidth = templ.cols; int nheight = templ.rows; - if ((m + nwidth >= outterRadius * 2) || (k + nheight > outterRadius * 2)) - { + if ((m + nwidth >= outterRadius * 2) || (k + nheight > outterRadius * 2)) { continue; } Mat matchRoi = selectRoi(Rect(m, k, nwidth, nheight)); @@ -1208,8 +1201,7 @@ bool imageRotateMatch(Mat & imgSrc, InputParam ¶mIn, OutputParam ¶mOut, cv::matchTemplate(matchRoi, templ, val, CV_TM_CCOEFF_NORMED); //float val = norm(matchRoi, templ, NORM_L2); - if (val.at(0, 0) > maxVal) - { + if (val.at(0, 0) > maxVal) { maxVal = val.at(0, 0); p = Point(m, k); m_Index = nIndex; @@ -1217,15 +1209,13 @@ bool imageRotateMatch(Mat & imgSrc, InputParam ¶mIn, OutputParam ¶mOut, } } } - if (nIndex >= candiateAngleRange[y][0] && nIndex <= candiateAngleRange[y][1]) - { + if (nIndex >= candiateAngleRange[y][0] && nIndex <= candiateAngleRange[y][1]) { //selectRoi.at(k, m) = 0; const Mat& templ = templates[nIndex]; int nwidth = templ.cols; int nheight = templ.rows; - if ((m + nwidth >= outterRadius * 2) || (k + nheight > outterRadius * 2)) - { + if ((m + nwidth >= outterRadius * 2) || (k + nheight > outterRadius * 2)) { continue; } Mat matchRoi = selectRoi(Rect(m, k, nwidth, nheight)); @@ -1233,13 +1223,12 @@ bool imageRotateMatch(Mat & imgSrc, InputParam ¶mIn, OutputParam ¶mOut, cv::matchTemplate(matchRoi, templ, val, CV_TM_CCOEFF_NORMED); //float val = norm(matchRoi, templ, NORM_L2); - if (val.at(0, 0) > maxVal) - { - maxVal = val.at(0, 0); - p = Point(m, k); - m_Index = nIndex; - roi = matchRoi; - } + if (val.at(0, 0) > maxVal) { + maxVal = val.at(0, 0); + p = Point(m, k); + m_Index = nIndex; + roi = matchRoi; + } } }