From 1e751a5eb3c23d932b5de94456b5a8741f28c7cc Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期六, 16 八月 2025 17:37:49 +0800
Subject: [PATCH] 1. 修复离线测试设置错误的扫描个数,应该设置的是需要扫描的个数(非相机个数)
---
EdgeInspector_App/Recipe/GlassRecipe.h | 80 ++++++++++++++++++++++++++++++---------
1 files changed, 61 insertions(+), 19 deletions(-)
diff --git a/EdgeInspector_App/Recipe/GlassRecipe.h b/EdgeInspector_App/Recipe/GlassRecipe.h
index e09dd22..ef63bc4 100644
--- a/EdgeInspector_App/Recipe/GlassRecipe.h
+++ b/EdgeInspector_App/Recipe/GlassRecipe.h
@@ -1,4 +1,4 @@
-#pragma once
+锘�#pragma once
#include "Config.h"
#include "cv.h"
@@ -14,11 +14,11 @@
typedef struct tagJUDGEEDGE
{
- BOOL bError; //俊矾 咯何..
- int nRefernce; // 扁霖
- int nTolPlus; // +倾侩坷瞒
- int nTolMinus; // -倾侩坷瞒
- int nSlant; //荤急
+ BOOL bError; //淇婄熅 鍜綍..
+ int nRefernce; // 鎵侀湒
+ int nTolPlus; // +鍊句京鍧风瀿
+ int nTolMinus; // -鍊句京鍧风瀿
+ int nSlant; //鑽ゆ��
}JUDGEEDGE, *PJUDGEEDGE;
typedef struct tagUserDefectArea
@@ -53,10 +53,10 @@
typedef struct tagEXECPTION_AREA
{
int nAreaType;
- CRect rc; // 康开 困摹 (Mark 盔痢)
- SIZE szErrSize; // 捞 康开俊辑 利侩瞪 Size
- int nAppDefect; // 利侩瞪 Defect 辆幅
- int nDetectLimitedArea; // 荤侩磊 汲沥 ROI 荤侩 蜡公
+ CRect rc; // 搴峰紑 鍥版懝 (Mark 鐩旂棦)
+ SIZE szErrSize; // 鎹� 搴峰紑淇婅緫 鍒╀京鐬� Size
+ int nAppDefect; // 鍒╀京鐬� Defect 杈嗗箙
+ int nDetectLimitedArea; // 鑽や京纾� 姹叉播 ROI 鑽や京 铚″叕
void Init()
{
@@ -126,9 +126,9 @@
public:
- TCHAR m_strRecipeName[MAX_STRING_LENGTH]; // 饭矫乔 捞抚.
- TCHAR m_strRecipeFileName[MAX_STRING_LENGTH]; // 饭乔矫 颇老疙
- TCHAR m_strRecipeFileNameBackUp[MAX_STRING_LENGTH]; // 饭乔矫 颇老疙
+ TCHAR m_strRecipeName[MAX_STRING_LENGTH]; // 楗煫涔� 鎹炴姎.
+ TCHAR m_strRecipeFileName[MAX_STRING_LENGTH]; // 楗箶鐭� 棰囪�佺枡
+ TCHAR m_strRecipeFileNameBackUp[MAX_STRING_LENGTH]; // 楗箶鐭� 棰囪�佺枡
int m_nSoftRevision;
CString m_strComment; // Comment
@@ -222,9 +222,9 @@
BOOL WriteRecipe(CConfig *pFile, int nSideIdx, int nNotchIdx);
public:
- int m_nGlassStartLine_pxl; // Notch 殿废 且 锭 Glass Start Line..
- CPoint m_ptTopMarkPos; // Notch 殿废 且 锭 Top Align Mark..
- CPoint m_ptBotMarkPos; // Notch 殿废 且 锭 Bot Align Mark..
+ int m_nGlassStartLine_pxl; // Notch 娈垮簾 涓� 閿� Glass Start Line..
+ CPoint m_ptTopMarkPos; // Notch 娈垮簾 涓� 閿� Top Align Mark..
+ CPoint m_ptBotMarkPos; // Notch 娈垮簾 涓� 閿� Bot Align Mark..
BOOL m_bNotch_Use;
CRect m_rtNotch_Area_pxl;
@@ -258,8 +258,8 @@
// Notch Circle
int m_nNotch_Circle_Count;
BOOL m_bNotch_Circle_Use[MAX_SIDE_NOTCH_CIRCLE_COUNT];
- CPoint m_ptNotch_Circle_TopMarkPos[MAX_SIDE_NOTCH_CIRCLE_COUNT]; // Notch Circle 殿废 且 锭 Top Align Mark..
- CPoint m_ptNotch_Circle_BotMarkPos[MAX_SIDE_NOTCH_CIRCLE_COUNT]; // Notch Circle 殿废 且 锭 Bot Align Mark..
+ CPoint m_ptNotch_Circle_TopMarkPos[MAX_SIDE_NOTCH_CIRCLE_COUNT]; // Notch Circle 娈垮簾 涓� 閿� Top Align Mark..
+ CPoint m_ptNotch_Circle_BotMarkPos[MAX_SIDE_NOTCH_CIRCLE_COUNT]; // Notch Circle 娈垮簾 涓� 閿� Bot Align Mark..
CRect m_rtNotch_Circle_Area_pxl[MAX_SIDE_NOTCH_CIRCLE_COUNT];
double m_dNotch_Circle_Spec_Radius_um[MAX_SIDE_NOTCH_CIRCLE_COUNT];
double m_dNotch_Circle_Spec_Radius_Min_um[MAX_SIDE_NOTCH_CIRCLE_COUNT];
@@ -318,6 +318,45 @@
int m_nJudge_Size_Min_OR_AND; // 0 : No Use, 1 : OR, 2 : AND
};
+// RIP Thickness
+struct CRIP_THICKNESS_PARM
+{
+ // Inspect
+ //RIP measure of precision
+ BOOL m_bUseInspect = FALSE;
+ int m_nLeftThres = 0;
+ int m_nRightThres = 0;
+ int m_nGlassThres = 0;
+ int m_nRipDir = 0; // 0:L 1:R 2:L+R
+ int m_nRectLeft = 0; // Inspect Rect L
+ int m_nTopOffset = 0; // Inspect Top Offset
+ int m_nRectRight = 0; // Inspect Rect R
+ int m_nBottomOffset = 0; // Inspect Bottom Offset
+
+ // RIP chip detection
+ BOOL m_bRipUseInspect = FALSE;
+ int m_nRipInspect_Range_um=0;
+ int m_nRipInspect_SideLine_Offset_um=0;
+ int m_nRipMin_Threshold = 0;
+ int m_nRipMax_Threshold = 0;
+
+
+ // Judgement
+ int m_nGlassSizeMin_um = 0;
+ int m_nGlassSizeMax_um = 0;
+ int m_nLeftRipSizeMin_um = 0;
+ int m_nLeftRipSizeMax_um = 0;
+ int m_nRightRipSizeMin_um = 0;
+ int m_nRightRipSizeMax_um = 0;
+ int m_nRipJudge_Size_Min_X_um = 0;
+ int m_nRipJudge_Size_Min_Y_um = 0;
+ int m_nRipJudge_Size_Min_OR_AND = 0;// 0 : No Use, 1 : OR, 2 : AND
+
+ void Reset();
+ BOOL ReadRecipe(CConfig* pFile, int nSideIdx);
+ BOOL WriteRecipe(CConfig* pFile, int nSideIdx);
+};
+
class CSIDE_PARM
{
public:
@@ -330,7 +369,7 @@
BOOL WriteRecipe(CConfig *pFile, int nSideIdx);
public:
- int m_nSidePanelSize_um; // Scan 搁狼 技肺 规氢 农扁
+ int m_nSidePanelSize_um; // Scan 鎼佺嫾 鎶�鑲� 瑙勬阿 鍐滄墎
int m_nFindStartEndLine_X_pxl; // Start/End Find Pos X
int m_nFindStartEndLine_Threshold;
int m_nSideLineThreshold;
@@ -453,6 +492,9 @@
// User Defect
int m_nUserDefectAreaCount;
CUSER_DEFECT_AREA_PARM m_UserDefectPrm[MAX_SIDE_USER_DEFECT_AREA_COUNT];
+
+ // Rip Thickness
+ CRIP_THICKNESS_PARM m_RipThk;
};
class CGlassRecipe
--
Gitblit v1.9.3