From 04d89bc9216553adcd0df87985a7665882924093 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 22 八月 2025 17:56:10 +0800
Subject: [PATCH] 1. 优化Notch计算周长,使用比例的形式计算
---
EdgeInspector_App/Data/PostProcess.cpp | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/EdgeInspector_App/Data/PostProcess.cpp b/EdgeInspector_App/Data/PostProcess.cpp
index cabe072..a2bd149 100644
--- a/EdgeInspector_App/Data/PostProcess.cpp
+++ b/EdgeInspector_App/Data/PostProcess.cpp
@@ -656,6 +656,16 @@
int fontFace = cv::FONT_HERSHEY_TRIPLEX;
double fontScale = 0.7;
int thickness = 1;
+
+ if (m_pHardware->m_bUse_SaveDLDefectImage==TRUE)
+ {
+ if (eCategory== DefectLoc_Chip|| eCategory== DefectLoc_Crack|| eCategory == DefectLoc_Burr|| eCategory == DefectLoc_In_Chip|| eCategory == DefectLoc_In_Burr|| eCategory == DefectLoc_UserDefect)
+ {
+ CT2CA pszConvertedAnsiDLFile(strDLFile);
+ cv::String strDLFile(pszConvertedAnsiDLFile);
+ cv::imwrite(strDLFile, imgTmp);
+ }
+ }
CT2CA pszConvertedAnsiTitle(strTitle);
cv::String strCVTitle(pszConvertedAnsiTitle);
@@ -1211,6 +1221,8 @@
bJudgeUse = (pSideParam->m_UserDefectPrm[pDefect->m_nUserDefectAreaIdx].m_nJudge_Size_Min_OR_AND == 0) ? FALSE : TRUE;
break;
case DefectLoc_Notch_Crack:
+ case DefectLoc_Notch_Broken:
+ case DefectLoc_Notch_NoGrind:
nJudgeW_um = pSideParam->m_NotchPrm[pDefect->m_nNotchIdx].m_nNotch_Inspect_Defect_Judge_X_um;
nJudgeH_um = pSideParam->m_NotchPrm[pDefect->m_nNotchIdx].m_nNotch_Inspect_Defect_Judge_Y_um;
bAnd = (pSideParam->m_NotchPrm[pDefect->m_nNotchIdx].m_nNotch_Inspect_Defect_Judge_And == 2) ? TRUE : FALSE;
@@ -1460,16 +1472,19 @@
}
CString strSaveImagePath;
+ CString strSaveImageDLPath;
//strSaveImagePath.Format(_T("%s\\%03d_%s_%s_%s.jpg"),m_strDefectFolder,pNewDefect->m_nIdx, g_pBase->m_strHPanelID, PANEL_SIDE[pNewDefect->m_DefectInfo.m_nSideIdx], strDefectType);
strSaveImagePath.Format(_T("%s\\%s_%s_%s_%d.jpg"),m_strDefectFolder, g_pBase->m_strHPanelID, PANEL_SIDE[pDefect->m_DefectInfo.m_nSideIdx], strDefectType, pDefect->m_nIdx);
-
- CRect rectDefect;
+ strSaveImageDLPath.Format(_T("%s\\%s_%s_%s_%d.bmp"),m_strImageDLFolder, g_pBase->m_strHPanelID, PANEL_SIDE[pDefect->m_DefectInfo.m_nSideIdx], strDefectType, pDefect->m_nIdx);
+ CRect rectDefect;
rectDefect.left = DEFECTIMAGE_WIDTH/2 - pDefect->m_DefectInfo.m_rtDefectPos_pxl.Width()/2;
rectDefect.right = DEFECTIMAGE_WIDTH/2 + pDefect->m_DefectInfo.m_rtDefectPos_pxl.Width()/2;
rectDefect.top = DEFECTIMAGE_HEIGHT/2 - pDefect->m_DefectInfo.m_rtDefectPos_pxl.Height()/2;
rectDefect.bottom = DEFECTIMAGE_HEIGHT/2 + pDefect->m_DefectInfo.m_rtDefectPos_pxl.Height()/2;
CheckDirectory(strSaveImagePath);
+ CheckDirectory(strSaveImageDLPath);
+ strDLFile.Format(_T("%s"), strSaveImageDLPath);
// SaveDefectImage2(pNewDefect->m_Image,CSize(DEFECTIMAGE_WIDTH,DEFECTIMAGE_HEIGHT), rectDefect, strSaveImagePath);
SaveDefectImage_with_Title(pDefect, CSize(DEFECTIMAGE_WIDTH,DEFECTIMAGE_HEIGHT), rectDefect, strSaveImagePath);
@@ -2001,6 +2016,9 @@
m_strDefectFolder.Format(_T("%s\\IMG_DEFECT\\%s\\%s"),PATH_INSPECTION_DATA,g_pBase->m_strLoadingDay,g_pBase->m_strHPanelID);
DeleteFolder(m_strDefectFolder);
CheckDirectory(m_strDefectFolder,TRUE);
+ m_strImageDLFolder.Format(_T("%s\\IMG_DEFECT_DL\\%s\\%s"), PATH_INSPECTION_DATA, g_pBase->m_strLoadingDay, g_pBase->m_strHPanelID);
+ DeleteFolder(m_strImageDLFolder);
+ CheckDirectory(m_strImageDLFolder, TRUE);
m_strSplineFolder.Format(_T("%s\\SPLINE\\%s\\%s"),PATH_INSPECTION_DATA,g_pBase->m_strLoadingDay,g_pBase->m_strHPanelID);
CheckDirectory(m_strSplineFolder);
m_strFullImgeFolder.Format(_T("%s\\IMG_FULL\\%s\\%s"),PATH_INSPECTION_DATA,g_pBase->m_strLoadingDay,g_pBase->m_strHPanelID);
--
Gitblit v1.9.3