From 3f20c98ab66d0f1d686b740986089b0e654c7226 Mon Sep 17 00:00:00 2001
From: LWQ <1806950222@qq.com>
Date: 星期四, 24 七月 2025 08:46:19 +0800
Subject: [PATCH] 添加新的报警类型(产品未研磨)及未研磨报警功能
---
EdgeInspector_App/Process/InspectCamera.cpp | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/EdgeInspector_App/Process/InspectCamera.cpp b/EdgeInspector_App/Process/InspectCamera.cpp
index dda71b4..bd15068 100644
--- a/EdgeInspector_App/Process/InspectCamera.cpp
+++ b/EdgeInspector_App/Process/InspectCamera.cpp
@@ -3826,7 +3826,7 @@
defectInfo.m_nSideIdx = (int)emDim;
defectInfo.m_ptDefectPos_pxl = rtRotateArea.CenterPoint();
defectInfo.m_rtDefectPos_pxl = rtRotateArea;
- defectInfo.m_DefectLoc = DefectLoc_Notch_Crack;
+ defectInfo.m_DefectLoc = DefectLoc_Notch_NoGrind;
m_pDefectControl->ExtractDefect(emDim, m_iCamera, stFrame.nScanIdx, defectInfo);
cvReleaseImageHeader(&pOriginImage);
@@ -4127,13 +4127,13 @@
{
if (m_pRecipe == NULL || m_pGlassData == NULL)
return FALSE;
-
+ int NotchFlag = 0;
for (int nMeasureIdx = 0; nMeasureIdx < MAX_SIDE_NOTCH_MEASURE_COUNT; nMeasureIdx++)
{
CPoint ptRef_pxl = m_pGlassData->GetSideData(emDim)->m_ptNotch_Reference[nNotchIdx][nMeasureIdx];
CPoint ptDim_pxl = m_pGlassData->GetSideData(emDim)->m_ptNotch_Dimension_Edge[nNotchIdx][nMeasureIdx];
-
- if (ptRef_pxl.x < 0 || ptRef_pxl.y < 0) {
+
+ /* if (ptRef_pxl.x < 0 || ptRef_pxl.y < 0) {
g_pLog->DisplayMessage(_T("[ERROR] Invalid Ref Point at Notch_Process_Calculate, NotchIdx: %d, MeasureIdx: %d, Point: (%d, %d)"), nNotchIdx, nMeasureIdx, ptRef_pxl.x, ptRef_pxl.y);
continue;
}
@@ -4141,7 +4141,7 @@
if (ptDim_pxl.x < 0 || ptDim_pxl.y < 0) {
g_pLog->DisplayMessage(_T("[ERROR] Invalid Dim Point at Notch_Process_Calculate, NotchIdx: %d, MeasureIdx: %d, Point: (%d, %d)"), nNotchIdx, nMeasureIdx, ptDim_pxl.x, ptDim_pxl.y);
continue;
- }
+ }*/
// Dimension
double dX_dim_um = (double)(ptRef_pxl.x - ptDim_pxl.x) * m_dPixelSizeX;
@@ -4150,22 +4150,25 @@
m_pGlassData->GetSideData(emDim)->m_dNotch_Dimension_Edge_Result_um[nNotchIdx][nMeasureIdx] = dDimension;
CPoint ptChamfer_pxl = m_pGlassData->GetSideData(emDim)->m_ptNotch_Chamfer_Edge[nNotchIdx][nMeasureIdx];
- if (ptChamfer_pxl.x < 0 || ptChamfer_pxl.y < 0) {
+ /* if (ptChamfer_pxl.x < 0 || ptChamfer_pxl.y < 0) {
g_pLog->DisplayMessage(_T("[ERROR] Invalid Chamfer Point at Notch_Process_Calculate, NotchIdx: %d, MeasureIdx: %d, Point: (%d, %d)"), nNotchIdx, nMeasureIdx, ptChamfer_pxl.x, ptChamfer_pxl.y);
continue;
- }
+ }*/
double dX_Chamfer = (double)(ptChamfer_pxl.x - ptDim_pxl.x) * m_dPixelSizeX;
double dY_Chamfer = (double)(ptChamfer_pxl.y - ptDim_pxl.y) * m_dPixelSizeY;
double dChamfer = sqrtf((dX_Chamfer * dX_Chamfer) + (dY_Chamfer * dY_Chamfer));
m_pGlassData->GetSideData(emDim)->m_dNotch_Chamfer_Edge_Result_um[nNotchIdx][nMeasureIdx] = dChamfer;
- if (dDimension > 2000.0 && dChamfer > 2000.0) {
+ if (dDimension > 5000.0 && dChamfer > 5000.0) {
g_pLog->DisplayMessage(_T("[ERROR] Abnormal Dimension & Chamfer too large at Notch_Process_Calculate, NotchIdx: %d, MeasureIdx: %d, Dimension: %.2f, Chamfer: %.2f"), nNotchIdx, nMeasureIdx, dDimension, dChamfer);
- continue;
+ NotchFlag=1;
}
}
-
+ if (NotchFlag == TRUE)
+ {
+ return FALSE;
+ }else
return TRUE;
}
--
Gitblit v1.9.3