From a68073a77792dc96cecbfb79693d531bc51ebbac Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 08 八月 2025 18:01:35 +0800
Subject: [PATCH] 1. 修复保存图片分配率问题 2. 修复获取相机配置的问题 3. 添加侧面检的视觉模块
---
EdgeInspector_App/ViewMain_Recipe.cpp | 68 +++++++++++++++++++++++++++++++++-
1 files changed, 66 insertions(+), 2 deletions(-)
diff --git a/EdgeInspector_App/ViewMain_Recipe.cpp b/EdgeInspector_App/ViewMain_Recipe.cpp
index fae101f..6cd32ce 100644
--- a/EdgeInspector_App/ViewMain_Recipe.cpp
+++ b/EdgeInspector_App/ViewMain_Recipe.cpp
@@ -167,6 +167,10 @@
ON_EVENT(CViewMain_Recipe, IDC_RDO_SIDE_B_BOT, DISPID_CLICK, CViewMain_Recipe::ClickSideSelButton, VTS_NONE)
ON_EVENT(CViewMain_Recipe, IDC_RDO_SIDE_C_BOT, DISPID_CLICK, CViewMain_Recipe::ClickSideSelButton, VTS_NONE)
ON_EVENT(CViewMain_Recipe, IDC_RDO_SIDE_D_BOT, DISPID_CLICK, CViewMain_Recipe::ClickSideSelButton, VTS_NONE)
+ ON_EVENT(CViewMain_Recipe, IDC_RDO_SIDE_A_RIP, DISPID_CLICK, CViewMain_Recipe::ClickSideSelButton, VTS_NONE)
+ ON_EVENT(CViewMain_Recipe, IDC_RDO_SIDE_B_RIP, DISPID_CLICK, CViewMain_Recipe::ClickSideSelButton, VTS_NONE)
+ ON_EVENT(CViewMain_Recipe, IDC_RDO_SIDE_C_RIP, DISPID_CLICK, CViewMain_Recipe::ClickSideSelButton, VTS_NONE)
+ ON_EVENT(CViewMain_Recipe, IDC_RDO_SIDE_D_RIP, DISPID_CLICK, CViewMain_Recipe::ClickSideSelButton, VTS_NONE)
ON_EVENT(CViewMain_Recipe, IDC_RDO_INSTYPE_CHIP, DISPID_CLICK, CViewMain_Recipe::ClickRdoInsType, VTS_NONE)
ON_EVENT(CViewMain_Recipe, IDC_RDO_INSTYPE_CRACK, DISPID_CLICK, CViewMain_Recipe::ClickRdoInsType, VTS_NONE)
@@ -1118,12 +1122,25 @@
case IDC_RDO_SIDE_D_BOT:
eSelView = eRcp_SideRD_D_DN;
break;
+ case IDC_RDO_SIDE_A_RIP:
+ eSelView = eRcp_SideRD_A_RIP;
+ break;
+ case IDC_RDO_SIDE_B_RIP:
+ eSelView = eRcp_SideRD_B_RIP;
+ break;
+ case IDC_RDO_SIDE_C_RIP:
+ eSelView = eRcp_SideRD_C_RIP;
+ break;
+ case IDC_RDO_SIDE_D_RIP:
+ eSelView = eRcp_SideRD_D_RIP;
+ break;
default:
return;
}
- if(m_eSelectSide == eSelView)
+ if (m_eSelectSide == eSelView) {
return;
+ }
m_eSelectSide = eSelView;
@@ -1133,11 +1150,17 @@
double dPixelSizeX = 1.0;
double dPixelSizeY = 1.0;
- int nFrameWidth = IMAGE_WIDTH;
+
+ int nFrameWidth = IMAGE_WIDTH / 2;
+ if (eSelView < eRcp_SideRD_A_RIP){
+ nFrameWidth = IMAGE_WIDTH;
+ }
+
int nFrameHeight = IMAGE_HEIGHT;
int nFrameCount = MAX_FRAM_COUNT;
GetResolution(dPixelSizeX, dPixelSizeY, nFrameWidth, nFrameHeight, nFrameCount);
m_frameImg.SetPixelSize(dPixelSizeX, dPixelSizeY);
+ m_frameImg.SetImageSize(nFrameWidth, nFrameHeight, nFrameCount);
#if HALCON_VISION_KEY
if (NULL != m_pVisionSetDlg) {
@@ -1541,6 +1564,14 @@
m_PanelInfo.SetItemText(nRowIdx, nColIdx++, _T("C Bot"));
m_PanelInfo.SetColumnWidth(nColIdx, 80);
m_PanelInfo.SetItemText(nRowIdx, nColIdx++, _T("D Bot"));
+ m_PanelInfo.SetColumnWidth(nColIdx, 80);
+ m_PanelInfo.SetItemText(nRowIdx, nColIdx++, _T("A RIP"));
+ m_PanelInfo.SetColumnWidth(nColIdx, 80);
+ m_PanelInfo.SetItemText(nRowIdx, nColIdx++, _T("B RIP"));
+ m_PanelInfo.SetColumnWidth(nColIdx, 80);
+ m_PanelInfo.SetItemText(nRowIdx, nColIdx++, _T("C RIP"));
+ m_PanelInfo.SetColumnWidth(nColIdx, 80);
+ m_PanelInfo.SetItemText(nRowIdx, nColIdx++, _T("D RIP"));
nColIdx = 0;
nRowIdx = 1;
@@ -1674,6 +1705,14 @@
m_SideInspectInfo.SetItemText(nRowIdx, nColIdx++, _T("C Bot"));
m_SideInspectInfo.SetColumnWidth(nColIdx, 80);
m_SideInspectInfo.SetItemText(nRowIdx, nColIdx++, _T("D Bot"));
+ m_SideInspectInfo.SetColumnWidth(nColIdx, 80);
+ m_SideInspectInfo.SetItemText(nRowIdx, nColIdx++, _T("A RIP"));
+ m_SideInspectInfo.SetColumnWidth(nColIdx, 80);
+ m_SideInspectInfo.SetItemText(nRowIdx, nColIdx++, _T("B RIP"));
+ m_SideInspectInfo.SetColumnWidth(nColIdx, 80);
+ m_SideInspectInfo.SetItemText(nRowIdx, nColIdx++, _T("C RIP"));
+ m_SideInspectInfo.SetColumnWidth(nColIdx, 80);
+ m_SideInspectInfo.SetItemText(nRowIdx, nColIdx++, _T("D RIP"));
nColIdx = 0;
nRowIdx = 1;
@@ -1876,6 +1915,14 @@
m_JudgementInfo.SetItemText(nRowIdx, nColIdx++, _T("C Bot"));
m_JudgementInfo.SetColumnWidth(nColIdx, 80);
m_JudgementInfo.SetItemText(nRowIdx, nColIdx++, _T("D Bot"));
+ m_JudgementInfo.SetColumnWidth(nColIdx, 80);
+ m_JudgementInfo.SetItemText(nRowIdx, nColIdx++, _T("A RIP"));
+ m_JudgementInfo.SetColumnWidth(nColIdx, 80);
+ m_JudgementInfo.SetItemText(nRowIdx, nColIdx++, _T("B RIP"));
+ m_JudgementInfo.SetColumnWidth(nColIdx, 80);
+ m_JudgementInfo.SetItemText(nRowIdx, nColIdx++, _T("C RIP"));
+ m_JudgementInfo.SetColumnWidth(nColIdx, 80);
+ m_JudgementInfo.SetItemText(nRowIdx, nColIdx++, _T("D RIP"));
nColIdx = 0;
nRowIdx = 1;
@@ -2892,6 +2939,8 @@
{
UINT nID = GetFocus()->GetDlgCtrlID();
+ SetSideRadioExclusive(nID);
+
UpdateRecipe(TRUE);
ChangViewCdmSide(nID);
@@ -3210,3 +3259,18 @@
pApp->ChangeDimension(m_pVisionSetDlg, nDir);
#endif // HALCON_VISION_KEY
}
+
+void CViewMain_Recipe::SetSideRadioExclusive(UINT nSelId)
+{
+ static const UINT kIds[] = {
+ IDC_RDO_SIDE_A_TOP, IDC_RDO_SIDE_B_TOP, IDC_RDO_SIDE_C_TOP, IDC_RDO_SIDE_D_TOP,
+ IDC_RDO_SIDE_A_BOT, IDC_RDO_SIDE_B_BOT, IDC_RDO_SIDE_C_BOT, IDC_RDO_SIDE_D_BOT,
+ IDC_RDO_SIDE_A_RIP, IDC_RDO_SIDE_B_RIP, IDC_RDO_SIDE_C_RIP, IDC_RDO_SIDE_D_RIP
+ };
+
+ for (UINT id : kIds) {
+ if (CButton* p = (CButton*)GetDlgItem(id)) {
+ p->SetCheck(id == nSelId ? 1 : 0);
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.3