From 562d49382c01cadf2f6953036bbaa0243c9ef354 Mon Sep 17 00:00:00 2001 From: Matthew Date: Sat, 28 Sep 2024 12:23:49 +0800 Subject: [PATCH] =?UTF-8?q?AI=E8=AF=86=E5=88=AB=E5=A2=9E=E5=8A=A0=E6=9C=80?= =?UTF-8?q?=E5=B0=8F=E5=B0=BA=E5=AF=B8=E9=99=90=E5=88=B6=E7=9A=84=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 18025baf..3128fbcb 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1587,8 +1587,12 @@ bool CPhoneDevice::OnImageReady(cv::Mat& mat) "hair drier", "toothbrush" }; #endif + cv::Scalar borderColor(m_pRecognizationCfg->borderColor & 0xFF, (m_pRecognizationCfg->borderColor & 0xFF00) >> 8, (m_pRecognizationCfg->borderColor & 0xFF0000) >> 16); cv::Scalar textColor(m_pRecognizationCfg->textColor & 0xFF, (m_pRecognizationCfg->textColor & 0xFF00) >> 8, (m_pRecognizationCfg->textColor & 0xFF0000) >> 16); + float minSizeW = m_pRecognizationCfg->minSize > 0 ? (mPhotoInfo.width * m_pRecognizationCfg->minSize / 100) : 0; + float minSizeH = m_pRecognizationCfg->minSize > 0 ? (mPhotoInfo.height * m_pRecognizationCfg->minSize / 100) : 0; + for (std::vector::const_iterator it = objs.cbegin(); it != objs.cend();) { if (it->label >= m_pRecognizationCfg->items.size()) @@ -1604,6 +1608,15 @@ bool CPhoneDevice::OnImageReady(cv::Mat& mat) continue; } + if (m_pRecognizationCfg->minSize > 0) + { + if (it->w < minSizeW || it->h < minSizeH) + { + it = objs.erase(it); + continue; + } + } + if ((mPhotoInfo.recognization & 0x2) != 0) { cv::Rect rc(it->x, it->y, it->w, it->h);