From 22ff831583da8c6f1c015c1e294f0bc1ef70ac85 Mon Sep 17 00:00:00 2001
From: C3031 <shitiangui@lanpucloud.cn>
Date: 星期五, 30 一月 2026 09:23:14 +0800
Subject: [PATCH]
---
LB_VisionProcesses/ProcessEditForm.cs | 2
LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementTool.cs | 12
LB_SmartVision/VisionForm.resx | 36
LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.resx | 7
LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.Designer.cs | 48 +-
LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs | 51 --
LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs | 454 +++++++++++++++++++++++
LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.Designer.cs | 498 ++++++++++----------------
LB_SmartVision/VisionForm.Designer.cs | 10
9 files changed, 706 insertions(+), 412 deletions(-)
diff --git a/LB_SmartVision/VisionForm.Designer.cs b/LB_SmartVision/VisionForm.Designer.cs
index ef45a32..9e00b0c 100644
--- a/LB_SmartVision/VisionForm.Designer.cs
+++ b/LB_SmartVision/VisionForm.Designer.cs
@@ -89,7 +89,7 @@
//
sc_VisionForm.Panel2.Controls.Add(grb_Info);
sc_VisionForm.Size = new Size(1416, 781);
- sc_VisionForm.SplitterDistance = 592;
+ sc_VisionForm.SplitterDistance = 591;
sc_VisionForm.SplitterWidth = 5;
sc_VisionForm.TabIndex = 1;
//
@@ -108,7 +108,7 @@
tlp_MainView.RowStyles.Add(new RowStyle(SizeType.Absolute, 60F));
tlp_MainView.RowStyles.Add(new RowStyle(SizeType.Absolute, 39F));
tlp_MainView.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
- tlp_MainView.Size = new Size(1416, 592);
+ tlp_MainView.Size = new Size(1416, 591);
tlp_MainView.TabIndex = 1;
tlp_MainView.TagString = null;
//
@@ -122,7 +122,7 @@
materialTabControl.MouseState = MaterialSkin.MouseState.HOVER;
materialTabControl.Name = "materialTabControl";
materialTabControl.SelectedIndex = 0;
- materialTabControl.Size = new Size(1412, 489);
+ materialTabControl.Size = new Size(1412, 488);
materialTabControl.TabIndex = 0;
//
// tlp_VisionMainOperator
@@ -249,7 +249,7 @@
grb_Info.MinimumSize = new Size(1, 1);
grb_Info.Name = "grb_Info";
grb_Info.Padding = new Padding(0, 40, 0, 0);
- grb_Info.Size = new Size(1416, 184);
+ grb_Info.Size = new Size(1416, 185);
grb_Info.TabIndex = 1;
grb_Info.Text = "鏃ュ織鏄剧ず鍖猴細";
grb_Info.TextAlignment = ContentAlignment.MiddleLeft;
@@ -265,7 +265,7 @@
rich_Info.Name = "rich_Info";
rich_Info.Padding = new Padding(2);
rich_Info.ShowText = false;
- rich_Info.Size = new Size(1416, 144);
+ rich_Info.Size = new Size(1416, 145);
rich_Info.TabIndex = 0;
rich_Info.TextAlignment = ContentAlignment.MiddleLeft;
//
diff --git a/LB_SmartVision/VisionForm.resx b/LB_SmartVision/VisionForm.resx
index 5e25f3c..a47feae 100644
--- a/LB_SmartVision/VisionForm.resx
+++ b/LB_SmartVision/VisionForm.resx
@@ -121,24 +121,24 @@
<data name="theme_VisionForm.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- vAAADrwBlbxySQAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
- BkVBUPCBCEG8BXNQ48GLeImCehIJxMsqhsSZruod46K4HtSIGjU+4iOr0c1I9fSsM3/PLNtCPO0H36m/
- evz/X11VnreKVRTAHPOZumkY6lFwqURws3BwZ8ywTQnuiCP/+iTCzY1qaUPzdm/Atf3PaHre6XPsjyQM
- 2xLGV4XwIyX4QRj+UMK/lPFvJTyhBMeV8IgQvmRJuH4Ko+l5p9UjGBbCJ5RxTgj+VMZmXxKcSAjekHE/
- NNs5DgaTKLinEQYVO4Trf1mkV81wixLUslPmA3bzF2XcKeP+hWY/u3n0fCXcrQwLyjAvjNsb1dI6N05P
- mFAIHlHG73sEypPgGwnhfpn0zzH7jzddcK4Q7kqfKNMI4a9K+MwBDgbdeF04MBWsFYYdQvhbLlBvfhKT
- f+vMtLfG7C0JJXxKGY67WnvCmPAFGRs7z42boul5AzHBfdK6TjdQtzPGk8oos5F/5Y7sfVvPhg+lp+1h
- 0yIsxARPmtaN78WEl8eEX+SNclxUhne0glUrNrN9zfMGlPAuZTzaQ99FYfwuDv3ruoLvq5bWaQSvZCfL
- GXUYLwrj240Qxtu2lkSN4FpdWfKZH9jb9RQ1Cq62f9sVOlxUxn3KQXnJ0PO8QxU/jBm1h74v7ZniEG9K
- Hdg/quzvXO709k0Y3u08ucGqWgheX862H4XgxbR47SqU8D1X0EXC2VmGizqDz0xPr0kYH9eO360gNe0b
- jWppozB+1kOQEb5MCLa0C64NoeGrhOGrvH6lhK81GiIvnggmrDLzgvTkvwvDA+5wsU4nhG/m9AUoBD/F
- HFzWN4H0XQn2vF8eXN8Z3FAPYasl59oUYjuB+sTImDB+nhfgYQ39STf4fmu1DHtz+oIUgiM1KkWtwcFw
- sOujVT3hrnaL7UQc+hcL5W+sKIXhw0OVjaW0iwnBc47gqIQ45QY32PKRzv8eTguRYM9SS5YouEEZjv37
- EffbzbjBDdZyxZYQ12EB2qS0bWrJqRVazPDWkojwZbuZrsgZtDJ0iY1g12khEtTicMTvclwn2CKE32YJ
- 7G5PORfZ1HtMCH7MOV4BrQ3XCe92+4onk5Nn2PolDAvWXnuOzAwzo6Nnx4Q3SrojwqfKeMxWMpsXWVs+
- 2WrfKRdbW1W6Hf0shM/33Y7my4PrleFZIfhAaWjU/e5ivlw+y3S2FySMtynjvcrwsFiLJv/RhPBB2ws1
- hK2WcBLBFf1qawlplwvxaQlxe786OOU4PBWsjSO85mBlQ8n99r/BisSdAas4FfgHpdEUZpwUX7sAAAAA
- SUVORK5CYII=
+ vAAADrwBlbxySQAAA+xJREFUWEftV0loFUkYbvcNFzJi0lWdBEPQruqXKEYdcRgz4AYqeplBwYiXEUVB
+ UHAhCEG8iR509OBlmIsOjJ5EBvQSRVHzuvslxjAy8eCG+75GozF+f716L6873fqe2ykffDR59e9/1V8V
+ ow99KARtUg72J5aypGNN8xy2yJPWcleylb5gS13HnJdy+KSW6uJx3b8ZA7TKl6PbMPq3SbMsBUcpyf/2
+ BP8PDh96kr32BX/rS/4O30789grfO1j/k4LQ6p8POO6XdFgpDNbDSZsn2Bt8u2MpWGdKsCPeBNMm3TZp
+ FaUc6/cW20pQEtpsflCllmwxjDbpLKOd9vAZuBPOx5J+86TyMdDbBxsdYLsn+SpUZYQy/imQILLdBIP3
+ cxzEU7Dbns3WejXmcNK/NPGHkajabtUiLYO/nyOgXWdRFeUkDmdnWMOg2ACFFwEn8fzfFeaSxlpjIOlT
+ EHC0HVm/CstSC13B93sVFaOVszDQpwGuYGtQLipnQDlMyLzH12t2zJ8adH/TbeMbVLYROmmyDvjYRrLK
+ aS4Q3Y/gtWjFALtg6KSf4NW02Uj3HwSPzOuw9iAk24sI/p5rm3OV0wyOo+++ww7pzCIViVjvAk+02GyC
+ VlWnpUmw2Qggn+AV0eZ/A61oEtYsOttRwjlE5vy4L61KrabQmjBtV3I/JPtRUptcmy9UBuiM+tLc+bHs
+ aQ1Rn8rNnEC7Gpvr8KcqF0XoHVCbl0qB8p2OEspS8OZmySZrvwqNtbUDMRm3Yj9kj1uB9NXcwLkfjwyu
+ RAhoshuYcHMyGy4DT5T+jKrcjNbJh+yW75QIw62yqhDAvUghwV/Cybrw5UKTDn08GqmTJ9GCx660pscG
+ oPoq2MHzlUWjtN8skjZbRsGFdQpiJoBkVVkFnF3tLcCv+7ZZo31mcYZGLY5RL/kCiQrcaRLFTvrikOxc
+ YJF2PeZ5ZsTmAkNkCtaiW1YAkcTF1sT4YjXFEM3ekMADz+YztM8AULqlqE5nSL5wor3Zkew51nxU4WnP
+ Ij9DlVGLIWCtDhV6FzBWIJH9a3pNaZOGQRsNT6tjWSHB/6LK6OUA/ETJVER/O9dgwcQ7w7XLTG0yjSTO
+ Onp7Ny3A92VuuTD0rbcFbXsUMJonaQwnBV8Rniu4y2sGYbEe5emA8cORV6ZGY3n5UNycC9AKvBHZZRh+
+ iqxoX9BlRWMZozvLLiSEV5V6HT2Bjz9iX0ftaAWE9sDoBV+UlOufY9FeWTmE5OhdgLH8Kxyvhv5GON3q
+ C3NzSvD19C70MTco4JTDZsbtrSzUlLP5DnBV3D745riOp5nr8F/OJcYV65++P2iTfNV/MPoQCcP4AKXR
+ FGYxo/VGAAAAAElFTkSuQmCC
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
diff --git a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
index 9ae365b..79f6ebe 100644
--- a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
+++ b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
@@ -3843,7 +3843,7 @@
/// <param name="hv_Column1">璧峰妯潗鏍�</param>
/// <param name="hv_Row2">缁撴潫绾靛潗鏍�</param>
/// <param name="hv_Column2">缁撴潫妯潗鏍�</param>
- public static void Emphsize(HObject ho_Image, out HObject ho_OutImage, HTuple hv_ImageEnhancementType, HTuple hv_Wid, HTuple hv_High, HTuple hv_Fac)
+ public static void ImageEnhancement(HObject ho_Image, out HObject ho_OutImage, HTuple hv_ImageEnhancementType, HTuple hv_Wid, HTuple hv_High, HTuple hv_Fac)
{
HOperatorSet.GenEmptyObj(out ho_OutImage);
try
@@ -3867,19 +3867,14 @@
{
hv_ImageEnhancementTypeOut.Dispose();
hv_ImageEnhancementTypeOut = "equHisto";
-
+ HOperatorSet.ScaleImageMax(ho_Image, out ho_OutImage);
}
else
{
hv_ImageEnhancementTypeOut.Dispose();
hv_ImageEnhancementTypeOut = "scaleMax";
+ HOperatorSet.EquHistoImage(ho_Image, out ho_OutImage);
}
-
-
-
- HOperatorSet.EquHistoImage(ho_Image, out ho_OutImage);
-
-
return;
}
catch (HalconException HDevExpDefaultException)
@@ -3891,45 +3886,7 @@
throw HDevExpDefaultException;
}
}
- /// <summary>
- /// 鍥惧儚澧炲己绠楁硶-姣斾緥澧炲己
- /// </summary>
- /// <param name="ho_Image">寰呮祴鍥剧墖</param>
- /// <param name="hv_Wid">鎺╄啘瀹�</param>
- public static void ScaleImageMax(HObject ho_Image, out HObject ho_OutImage)
- {
- HOperatorSet.GenEmptyObj(out ho_OutImage);
- try
- {
- ho_OutImage.Dispose();
- HOperatorSet.ScaleImageMax(ho_Image, out ho_OutImage);
- return;
- }
- catch (HalconException HDevExpDefaultException)
- {
- throw HDevExpDefaultException;
- }
- }
- /// <summary>
- /// 鍥惧儚澧炲己绠楁硶-鐩存柟鍥惧潎琛″寲
- /// </summary>
- /// <param name="ho_Image">寰呮祴鍥剧墖</param>
- /// <param name="hv_Wid">鎺╄啘瀹�</param>
- public static void EquHistoImage(HObject ho_Image, out HObject ho_OutImage)
- {
- HOperatorSet.GenEmptyObj(out ho_OutImage);
- try
- {
- ho_OutImage.Dispose();
- HOperatorSet.EquHistoImage(ho_Image, out ho_OutImage);
- return;
- }
- catch (HalconException HDevExpDefaultException)
- {
- throw HDevExpDefaultException;
- }
- }
-
+
/// <summary>
/// 鍗″昂绠楁硶
/// </summary>
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.Designer.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.Designer.cs
index 5c7def3..0bc2d0d 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.Designer.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.Designer.cs
@@ -302,7 +302,7 @@
//
cmbTransition.FormattingEnabled = true;
cmbTransition.Location = new Point(120, 184);
- cmbTransition.Margin = new Padding(4, 4, 4, 4);
+ cmbTransition.Margin = new Padding(4);
cmbTransition.Name = "cmbTransition";
cmbTransition.Size = new Size(130, 28);
cmbTransition.TabIndex = 13;
@@ -311,7 +311,7 @@
//
cmbSelect.FormattingEnabled = true;
cmbSelect.Location = new Point(376, 184);
- cmbSelect.Margin = new Padding(4, 4, 4, 4);
+ cmbSelect.Margin = new Padding(4);
cmbSelect.Name = "cmbSelect";
cmbSelect.Size = new Size(131, 28);
cmbSelect.TabIndex = 14;
@@ -320,7 +320,7 @@
//
btnShowROI.Dock = DockStyle.Fill;
btnShowROI.Location = new Point(4, 244);
- btnShowROI.Margin = new Padding(4, 4, 4, 4);
+ btnShowROI.Margin = new Padding(4);
btnShowROI.Name = "btnShowROI";
btnShowROI.Size = new Size(108, 52);
btnShowROI.TabIndex = 15;
@@ -332,7 +332,7 @@
//
pnlInputImage.Dock = DockStyle.Fill;
pnlInputImage.Location = new Point(4, 4);
- pnlInputImage.Margin = new Padding(5, 5, 5, 5);
+ pnlInputImage.Margin = new Padding(5);
pnlInputImage.Name = "pnlInputImage";
pnlInputImage.Size = new Size(782, 603);
pnlInputImage.TabIndex = 44;
@@ -418,7 +418,7 @@
MainTableLayoutPanel.Controls.Add(imgTabControl, 1, 0);
MainTableLayoutPanel.Dock = DockStyle.Fill;
MainTableLayoutPanel.Location = new Point(0, 27);
- MainTableLayoutPanel.Margin = new Padding(4, 4, 4, 4);
+ MainTableLayoutPanel.Margin = new Padding(4);
MainTableLayoutPanel.Name = "MainTableLayoutPanel";
MainTableLayoutPanel.RowCount = 1;
MainTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
@@ -432,7 +432,7 @@
parasTabControl.Controls.Add(tabPage2);
parasTabControl.Dock = DockStyle.Fill;
parasTabControl.Location = new Point(4, 4);
- parasTabControl.Margin = new Padding(4, 4, 4, 4);
+ parasTabControl.Margin = new Padding(4);
parasTabControl.Name = "parasTabControl";
parasTabControl.SelectedIndex = 0;
parasTabControl.Size = new Size(528, 644);
@@ -442,9 +442,9 @@
//
tabPage1.Controls.Add(tablePanelParas);
tabPage1.Location = new Point(4, 29);
- tabPage1.Margin = new Padding(4, 4, 4, 4);
+ tabPage1.Margin = new Padding(4);
tabPage1.Name = "tabPage1";
- tabPage1.Padding = new Padding(4, 4, 4, 4);
+ tabPage1.Padding = new Padding(4);
tabPage1.Size = new Size(520, 611);
tabPage1.TabIndex = 0;
tabPage1.Text = "杈撳叆鍙傛暟";
@@ -454,7 +454,7 @@
//
tabPage5.Controls.Add(tableLayoutPanel2);
tabPage5.Location = new Point(4, 29);
- tabPage5.Margin = new Padding(4, 4, 4, 4);
+ tabPage5.Margin = new Padding(4);
tabPage5.Name = "tabPage5";
tabPage5.Size = new Size(520, 611);
tabPage5.TabIndex = 2;
@@ -474,7 +474,7 @@
tableLayoutPanel2.Controls.Add(cmbFixture, 1, 1);
tableLayoutPanel2.Controls.Add(ckbDrawRoi, 2, 0);
tableLayoutPanel2.Location = new Point(4, 4);
- tableLayoutPanel2.Margin = new Padding(4, 4, 4, 4);
+ tableLayoutPanel2.Margin = new Padding(4);
tableLayoutPanel2.Name = "tableLayoutPanel2";
tableLayoutPanel2.RowCount = 8;
tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 35F));
@@ -493,7 +493,7 @@
cmbTypeRoi.Enabled = false;
cmbTypeRoi.FormattingEnabled = true;
cmbTypeRoi.Location = new Point(81, 4);
- cmbTypeRoi.Margin = new Padding(4, 4, 4, 4);
+ cmbTypeRoi.Margin = new Padding(4);
cmbTypeRoi.Name = "cmbTypeRoi";
cmbTypeRoi.Size = new Size(154, 28);
cmbTypeRoi.TabIndex = 1;
@@ -527,7 +527,7 @@
//
cmbFixture.FormattingEnabled = true;
cmbFixture.Location = new Point(81, 39);
- cmbFixture.Margin = new Padding(4, 4, 4, 4);
+ cmbFixture.Margin = new Padding(4);
cmbFixture.Name = "cmbFixture";
cmbFixture.Size = new Size(154, 28);
cmbFixture.TabIndex = 5;
@@ -538,7 +538,7 @@
ckbDrawRoi.AutoSize = true;
ckbDrawRoi.CheckAlign = ContentAlignment.MiddleCenter;
ckbDrawRoi.Location = new Point(274, 4);
- ckbDrawRoi.Margin = new Padding(4, 4, 4, 4);
+ ckbDrawRoi.Margin = new Padding(4);
ckbDrawRoi.Name = "ckbDrawRoi";
ckbDrawRoi.Size = new Size(18, 17);
ckbDrawRoi.TabIndex = 2;
@@ -549,9 +549,9 @@
//
tabPage2.Controls.Add(tableLayoutResults);
tabPage2.Location = new Point(4, 29);
- tabPage2.Margin = new Padding(4, 4, 4, 4);
+ tabPage2.Margin = new Padding(4);
tabPage2.Name = "tabPage2";
- tabPage2.Padding = new Padding(4, 4, 4, 4);
+ tabPage2.Padding = new Padding(4);
tabPage2.Size = new Size(520, 611);
tabPage2.TabIndex = 1;
tabPage2.Text = "杈撳嚭缁撴灉";
@@ -723,7 +723,7 @@
//
dtxtCount.Dock = DockStyle.Fill;
dtxtCount.Location = new Point(133, 304);
- dtxtCount.Margin = new Padding(4, 4, 4, 4);
+ dtxtCount.Margin = new Padding(4);
dtxtCount.Name = "dtxtCount";
dtxtCount.ReadOnly = true;
dtxtCount.Size = new Size(375, 27);
@@ -735,7 +735,7 @@
imgTabControl.Controls.Add(tabPageRecordImage);
imgTabControl.Dock = DockStyle.Fill;
imgTabControl.Location = new Point(540, 4);
- imgTabControl.Margin = new Padding(4, 4, 4, 4);
+ imgTabControl.Margin = new Padding(4);
imgTabControl.Name = "imgTabControl";
imgTabControl.SelectedIndex = 0;
imgTabControl.Size = new Size(798, 644);
@@ -745,9 +745,9 @@
//
tabPageInputImage.Controls.Add(pnlInputImage);
tabPageInputImage.Location = new Point(4, 29);
- tabPageInputImage.Margin = new Padding(4, 4, 4, 4);
+ tabPageInputImage.Margin = new Padding(4);
tabPageInputImage.Name = "tabPageInputImage";
- tabPageInputImage.Padding = new Padding(4, 4, 4, 4);
+ tabPageInputImage.Padding = new Padding(4);
tabPageInputImage.Size = new Size(790, 611);
tabPageInputImage.TabIndex = 0;
tabPageInputImage.Text = "杈撳叆鍥惧儚";
@@ -757,10 +757,10 @@
//
tabPageRecordImage.Controls.Add(pnlRecordImage);
tabPageRecordImage.Location = new Point(4, 29);
- tabPageRecordImage.Margin = new Padding(4, 4, 4, 4);
+ tabPageRecordImage.Margin = new Padding(4);
tabPageRecordImage.Name = "tabPageRecordImage";
- tabPageRecordImage.Padding = new Padding(4, 4, 4, 4);
- tabPageRecordImage.Size = new Size(790, 609);
+ tabPageRecordImage.Padding = new Padding(4);
+ tabPageRecordImage.Size = new Size(790, 611);
tabPageRecordImage.TabIndex = 1;
tabPageRecordImage.Text = "缁撴灉鍥惧儚";
tabPageRecordImage.UseVisualStyleBackColor = true;
@@ -769,9 +769,9 @@
//
pnlRecordImage.Dock = DockStyle.Fill;
pnlRecordImage.Location = new Point(4, 4);
- pnlRecordImage.Margin = new Padding(5, 5, 5, 5);
+ pnlRecordImage.Margin = new Padding(5);
pnlRecordImage.Name = "pnlRecordImage";
- pnlRecordImage.Size = new Size(782, 601);
+ pnlRecordImage.Size = new Size(782, 603);
pnlRecordImage.TabIndex = 45;
//
// HFindLineToolEdit
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementTool.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementTool.cs
index 1d47cbb..48d4e46 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementTool.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementTool.cs
@@ -7,12 +7,12 @@
using System.Threading.Tasks;
using static System.Runtime.InteropServices.JavaScript.JSType;
-namespace LB_VisionProcesses.Alogrithms.Halcon._2D.HEdgeExtraction
+namespace LB_VisionProcesses.Alogrithms.Halcon
{
public enum ImageEnhancementType { Emphasize, EquHisto, ScaleMax }
[Process("Halcon鍥惧儚澧炲己", Category = "Halcon2D宸ュ叿", Description = "鍒涘缓鍥惧儚澧炲己宸ュ叿")]
- internal class HImageEnhancementTool : TAlgorithm
+ public class HImageEnhancementTool : TAlgorithm
{
public HImageEnhancementTool()
{
@@ -20,9 +20,9 @@
strProcessName = "Halcon鍥惧儚澧炲己宸ュ叿";
Params.Inputs.Add("婊ゆ尝鍣ㄧ被鍨�", "杈圭紭澧炲己");
- Params.Inputs.Add("鎺╄啘瀹�", 2.0);
- Params.Inputs.Add("鎺╄啘楂�", 10);
- Params.Inputs.Add("澧炲己鍥犲瓙", 20);
+ Params.Inputs.Add("鎺╄啘瀹�", 1);
+ Params.Inputs.Add("鎺╄啘楂�", 1);
+ Params.Inputs.Add("澧炲己鍥犲瓙", 1.0);
//emphasize(Image : ImageEmphasize : MaskWidth, MaskHeight, Factor : )
Params.Inputs.Add("婊ゆ尝鍣ㄧ被鍨�", "鐩存柟鍥惧潎琛″寲");
@@ -129,7 +129,7 @@
double hv_Row2 = Convert.ToDouble(((HSegment)Params.ROI).EndRow + Params.Fixture.Row);
double hv_Column2 = Convert.ToDouble(((HSegment)Params.ROI).EndColumn + Params.Fixture.Column);
- Emphsize(hoDomainImage, out ho_Regions, hv_Column1, hv_Row2, hv_Column2);
+ ImageEnhancement(hoDomainImage, out ho_Regions, hv_ImageEnhancementType, hv_Column1, hv_Row2, hv_Column2);
#endregion
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.Designer.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.Designer.cs
index 28aea30..585d5f1 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.Designer.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.Designer.cs
@@ -1,6 +1,6 @@
锘縰sing LB_VisionProcesses.Alogrithms;
-namespace LB_VisionProcesses.Alogrithms.Halcon._2D.HEdgeExtractionTool
+namespace LB_VisionProcesses.Alogrithms.Halcon
{
partial class HImageEnhancementToolEdit
{
@@ -43,6 +43,20 @@
MainTableLayoutPanel = new TableLayoutPanel();
parasTabControl = new TabControl();
tabPage1 = new TabPage();
+ tableLayoutPanel1 = new TableLayoutPanel();
+ dataGridViewIE = new DataGridView();
+ tableLayoutPanel4 = new TableLayoutPanel();
+ tableLayoutPanel3 = new TableLayoutPanel();
+ cmbImageEnhancement = new ComboBox();
+ btnAdd = new Button();
+ labelImageEnhancement = new Label();
+ tableLayoutPanel5 = new TableLayoutPanel();
+ labelMaskWidth = new Label();
+ labelMaskHeight = new Label();
+ labelFactor = new Label();
+ txtMaskWidth = new TextBox();
+ txtMaskHeight = new TextBox();
+ txtFactor = new TextBox();
tabPage5 = new TabPage();
tableLayoutPanel2 = new TableLayoutPanel();
cmbTypeRoi = new ComboBox();
@@ -50,45 +64,25 @@
label22 = new Label();
cmbFixture = new ComboBox();
ckbDrawRoi = new CheckBox();
- tabPage2 = new TabPage();
- tableLayoutResults = new TableLayoutPanel();
- dtxtHeight = new TextBox();
- label9 = new Label();
- label5 = new Label();
- label6 = new Label();
- label7 = new Label();
- label8 = new Label();
- dtxtCenterX = new TextBox();
- dtxtCenterY = new TextBox();
- dtxtAngle = new TextBox();
- dtxtWidth = new TextBox();
- label18 = new Label();
- dtxtCount = new TextBox();
imgTabControl = new TabControl();
tabPageInputImage = new TabPage();
tabPageRecordImage = new TabPage();
pnlRecordImage = new Panel();
- tableLayoutPanel1 = new TableLayoutPanel();
- tableLayoutPanel3 = new TableLayoutPanel();
- label14 = new Label();
- cmbImageEnhancement = new ComboBox();
- button1 = new Button();
- dataGridView1 = new DataGridView();
TopToolStrip.SuspendLayout();
BtmStatusStrip.SuspendLayout();
MainTableLayoutPanel.SuspendLayout();
parasTabControl.SuspendLayout();
tabPage1.SuspendLayout();
+ tableLayoutPanel1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)dataGridViewIE).BeginInit();
+ tableLayoutPanel4.SuspendLayout();
+ tableLayoutPanel3.SuspendLayout();
+ tableLayoutPanel5.SuspendLayout();
tabPage5.SuspendLayout();
tableLayoutPanel2.SuspendLayout();
- tabPage2.SuspendLayout();
- tableLayoutResults.SuspendLayout();
imgTabControl.SuspendLayout();
tabPageInputImage.SuspendLayout();
tabPageRecordImage.SuspendLayout();
- tableLayoutPanel1.SuspendLayout();
- tableLayoutPanel3.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit();
SuspendLayout();
//
// pnlInputImage
@@ -188,7 +182,6 @@
//
parasTabControl.Controls.Add(tabPage1);
parasTabControl.Controls.Add(tabPage5);
- parasTabControl.Controls.Add(tabPage2);
parasTabControl.Dock = DockStyle.Fill;
parasTabControl.Location = new Point(4, 4);
parasTabControl.Margin = new Padding(4);
@@ -208,6 +201,161 @@
tabPage1.TabIndex = 0;
tabPage1.Text = "杈撳叆鍙傛暟";
tabPage1.UseVisualStyleBackColor = true;
+ //
+ // tableLayoutPanel1
+ //
+ tableLayoutPanel1.ColumnCount = 1;
+ tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel1.Controls.Add(dataGridViewIE, 0, 1);
+ tableLayoutPanel1.Controls.Add(tableLayoutPanel4, 0, 0);
+ tableLayoutPanel1.Dock = DockStyle.Fill;
+ tableLayoutPanel1.Location = new Point(4, 4);
+ tableLayoutPanel1.Name = "tableLayoutPanel1";
+ tableLayoutPanel1.RowCount = 2;
+ tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 135F));
+ tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ tableLayoutPanel1.Size = new Size(512, 603);
+ tableLayoutPanel1.TabIndex = 1;
+ //
+ // dataGridViewIE
+ //
+ dataGridViewIE.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ dataGridViewIE.Location = new Point(3, 138);
+ dataGridViewIE.Name = "dataGridViewIE";
+ dataGridViewIE.RowHeadersWidth = 51;
+ dataGridViewIE.Size = new Size(506, 462);
+ dataGridViewIE.TabIndex = 2;
+ //
+ // tableLayoutPanel4
+ //
+ tableLayoutPanel4.ColumnCount = 1;
+ tableLayoutPanel4.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel4.Controls.Add(tableLayoutPanel3, 0, 0);
+ tableLayoutPanel4.Controls.Add(tableLayoutPanel5, 0, 1);
+ tableLayoutPanel4.Location = new Point(3, 3);
+ tableLayoutPanel4.Name = "tableLayoutPanel4";
+ tableLayoutPanel4.RowCount = 2;
+ tableLayoutPanel4.RowStyles.Add(new RowStyle(SizeType.Absolute, 45F));
+ tableLayoutPanel4.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ tableLayoutPanel4.Size = new Size(506, 125);
+ tableLayoutPanel4.TabIndex = 3;
+ //
+ // tableLayoutPanel3
+ //
+ tableLayoutPanel3.ColumnCount = 3;
+ tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 125F));
+ tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 125F));
+ tableLayoutPanel3.Controls.Add(cmbImageEnhancement, 1, 0);
+ tableLayoutPanel3.Controls.Add(btnAdd, 2, 0);
+ tableLayoutPanel3.Controls.Add(labelImageEnhancement, 0, 0);
+ tableLayoutPanel3.Location = new Point(3, 3);
+ tableLayoutPanel3.Name = "tableLayoutPanel3";
+ tableLayoutPanel3.RowCount = 1;
+ tableLayoutPanel3.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ tableLayoutPanel3.Size = new Size(500, 38);
+ tableLayoutPanel3.TabIndex = 1;
+ //
+ // cmbImageEnhancement
+ //
+ cmbImageEnhancement.FormattingEnabled = true;
+ cmbImageEnhancement.Location = new Point(129, 4);
+ cmbImageEnhancement.Margin = new Padding(4);
+ cmbImageEnhancement.Name = "cmbImageEnhancement";
+ cmbImageEnhancement.Size = new Size(242, 28);
+ cmbImageEnhancement.TabIndex = 14;
+ cmbImageEnhancement.SelectedIndexChanged += cmbImageEnhancement_SelectedIndexChanged;
+ //
+ // btnAdd
+ //
+ btnAdd.Location = new Point(378, 3);
+ btnAdd.Name = "btnAdd";
+ btnAdd.Size = new Size(119, 30);
+ btnAdd.TabIndex = 15;
+ btnAdd.Text = "娣诲姞";
+ btnAdd.UseVisualStyleBackColor = true;
+ btnAdd.Click += btnAdd_Click;
+ //
+ // labelImageEnhancement
+ //
+ labelImageEnhancement.AutoSize = true;
+ labelImageEnhancement.Location = new Point(3, 0);
+ labelImageEnhancement.MaximumSize = new Size(0, 33);
+ labelImageEnhancement.MinimumSize = new Size(0, 33);
+ labelImageEnhancement.Name = "labelImageEnhancement";
+ labelImageEnhancement.Size = new Size(69, 33);
+ labelImageEnhancement.TabIndex = 1;
+ labelImageEnhancement.Text = "婊ゆ尝绫诲瀷";
+ labelImageEnhancement.TextAlign = ContentAlignment.MiddleCenter;
+ //
+ // tableLayoutPanel5
+ //
+ tableLayoutPanel5.ColumnCount = 4;
+ tableLayoutPanel5.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
+ tableLayoutPanel5.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
+ tableLayoutPanel5.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
+ tableLayoutPanel5.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
+ tableLayoutPanel5.Controls.Add(labelMaskWidth, 0, 0);
+ tableLayoutPanel5.Controls.Add(labelMaskHeight, 2, 0);
+ tableLayoutPanel5.Controls.Add(labelFactor, 0, 1);
+ tableLayoutPanel5.Controls.Add(txtMaskWidth, 1, 0);
+ tableLayoutPanel5.Controls.Add(txtMaskHeight, 3, 0);
+ tableLayoutPanel5.Controls.Add(txtFactor, 1, 1);
+ tableLayoutPanel5.Location = new Point(3, 48);
+ tableLayoutPanel5.Name = "tableLayoutPanel5";
+ tableLayoutPanel5.RowCount = 2;
+ tableLayoutPanel5.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
+ tableLayoutPanel5.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
+ tableLayoutPanel5.Size = new Size(500, 74);
+ tableLayoutPanel5.TabIndex = 2;
+ //
+ // labelMaskWidth
+ //
+ labelMaskWidth.AutoSize = true;
+ labelMaskWidth.Location = new Point(3, 0);
+ labelMaskWidth.Name = "labelMaskWidth";
+ labelMaskWidth.Size = new Size(54, 20);
+ labelMaskWidth.TabIndex = 0;
+ labelMaskWidth.Text = "鎺╄啘瀹�";
+ //
+ // labelMaskHeight
+ //
+ labelMaskHeight.AutoSize = true;
+ labelMaskHeight.Location = new Point(253, 0);
+ labelMaskHeight.Name = "labelMaskHeight";
+ labelMaskHeight.Size = new Size(54, 20);
+ labelMaskHeight.TabIndex = 1;
+ labelMaskHeight.Text = "鎺╄啘楂�";
+ //
+ // labelFactor
+ //
+ labelFactor.AutoSize = true;
+ labelFactor.Location = new Point(3, 37);
+ labelFactor.Name = "labelFactor";
+ labelFactor.Size = new Size(69, 20);
+ labelFactor.TabIndex = 2;
+ labelFactor.Text = "澧炲己鍥犲瓙";
+ //
+ // txtMaskWidth
+ //
+ txtMaskWidth.Location = new Point(128, 3);
+ txtMaskWidth.Name = "txtMaskWidth";
+ txtMaskWidth.Size = new Size(119, 27);
+ txtMaskWidth.TabIndex = 3;
+ //
+ // txtMaskHeight
+ //
+ txtMaskHeight.Location = new Point(378, 3);
+ txtMaskHeight.Name = "txtMaskHeight";
+ txtMaskHeight.Size = new Size(119, 27);
+ txtMaskHeight.TabIndex = 4;
+ //
+ // txtFactor
+ //
+ txtFactor.Location = new Point(128, 40);
+ txtFactor.Name = "txtFactor";
+ txtFactor.Size = new Size(119, 27);
+ txtFactor.TabIndex = 5;
//
// tabPage5
//
@@ -301,190 +449,6 @@
ckbDrawRoi.TabIndex = 2;
ckbDrawRoi.UseVisualStyleBackColor = true;
//
- // tabPage2
- //
- tabPage2.Controls.Add(tableLayoutResults);
- tabPage2.Location = new Point(4, 29);
- tabPage2.Margin = new Padding(4);
- tabPage2.Name = "tabPage2";
- tabPage2.Padding = new Padding(4);
- tabPage2.Size = new Size(520, 611);
- tabPage2.TabIndex = 1;
- tabPage2.Text = "杈撳嚭缁撴灉";
- tabPage2.UseVisualStyleBackColor = true;
- //
- // tableLayoutResults
- //
- tableLayoutResults.ColumnCount = 2;
- tableLayoutResults.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 129F));
- tableLayoutResults.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
- tableLayoutResults.Controls.Add(dtxtHeight, 1, 4);
- tableLayoutResults.Controls.Add(label9, 0, 4);
- tableLayoutResults.Controls.Add(label5, 0, 0);
- tableLayoutResults.Controls.Add(label6, 0, 1);
- tableLayoutResults.Controls.Add(label7, 0, 2);
- tableLayoutResults.Controls.Add(label8, 0, 3);
- tableLayoutResults.Controls.Add(dtxtCenterX, 1, 0);
- tableLayoutResults.Controls.Add(dtxtCenterY, 1, 1);
- tableLayoutResults.Controls.Add(dtxtAngle, 1, 2);
- tableLayoutResults.Controls.Add(dtxtWidth, 1, 3);
- tableLayoutResults.Controls.Add(label18, 0, 5);
- tableLayoutResults.Controls.Add(dtxtCount, 1, 5);
- tableLayoutResults.Dock = DockStyle.Fill;
- tableLayoutResults.Location = new Point(4, 4);
- tableLayoutResults.Margin = new Padding(3, 4, 3, 4);
- tableLayoutResults.Name = "tableLayoutResults";
- tableLayoutResults.RowCount = 10;
- tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
- tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
- tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
- tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
- tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
- tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
- tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
- tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
- tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
- tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
- tableLayoutResults.Size = new Size(512, 603);
- tableLayoutResults.TabIndex = 1;
- //
- // dtxtHeight
- //
- dtxtHeight.Dock = DockStyle.Fill;
- dtxtHeight.Location = new Point(132, 244);
- dtxtHeight.Margin = new Padding(3, 4, 3, 4);
- dtxtHeight.Name = "dtxtHeight";
- dtxtHeight.ReadOnly = true;
- dtxtHeight.Size = new Size(377, 27);
- dtxtHeight.TabIndex = 9;
- //
- // label9
- //
- label9.AutoSize = true;
- label9.Dock = DockStyle.Fill;
- label9.Location = new Point(3, 240);
- label9.MaximumSize = new Size(0, 33);
- label9.MinimumSize = new Size(0, 33);
- label9.Name = "label9";
- label9.Size = new Size(123, 33);
- label9.TabIndex = 3;
- label9.Text = "楂樺害";
- label9.TextAlign = ContentAlignment.TopCenter;
- //
- // label5
- //
- label5.AutoSize = true;
- label5.Dock = DockStyle.Fill;
- label5.Location = new Point(3, 0);
- label5.MaximumSize = new Size(0, 33);
- label5.MinimumSize = new Size(0, 33);
- label5.Name = "label5";
- label5.Size = new Size(123, 33);
- label5.TabIndex = 0;
- label5.Text = "X";
- label5.TextAlign = ContentAlignment.TopCenter;
- //
- // label6
- //
- label6.AutoSize = true;
- label6.Dock = DockStyle.Fill;
- label6.Location = new Point(3, 60);
- label6.MaximumSize = new Size(0, 33);
- label6.MinimumSize = new Size(0, 33);
- label6.Name = "label6";
- label6.Size = new Size(123, 33);
- label6.TabIndex = 1;
- label6.Text = "Y";
- label6.TextAlign = ContentAlignment.TopCenter;
- //
- // label7
- //
- label7.AutoSize = true;
- label7.Dock = DockStyle.Fill;
- label7.Location = new Point(3, 120);
- label7.MaximumSize = new Size(0, 33);
- label7.MinimumSize = new Size(0, 33);
- label7.Name = "label7";
- label7.Size = new Size(123, 33);
- label7.TabIndex = 2;
- label7.Text = "瑙掑害(掳)";
- label7.TextAlign = ContentAlignment.TopCenter;
- //
- // label8
- //
- label8.AutoSize = true;
- label8.Dock = DockStyle.Fill;
- label8.Location = new Point(3, 180);
- label8.MaximumSize = new Size(0, 33);
- label8.MinimumSize = new Size(0, 33);
- label8.Name = "label8";
- label8.Size = new Size(123, 33);
- label8.TabIndex = 3;
- label8.Text = "瀹藉害";
- label8.TextAlign = ContentAlignment.TopCenter;
- //
- // dtxtCenterX
- //
- dtxtCenterX.Dock = DockStyle.Fill;
- dtxtCenterX.Location = new Point(132, 4);
- dtxtCenterX.Margin = new Padding(3, 4, 3, 4);
- dtxtCenterX.Name = "dtxtCenterX";
- dtxtCenterX.ReadOnly = true;
- dtxtCenterX.Size = new Size(377, 27);
- dtxtCenterX.TabIndex = 5;
- //
- // dtxtCenterY
- //
- dtxtCenterY.Dock = DockStyle.Fill;
- dtxtCenterY.Location = new Point(132, 64);
- dtxtCenterY.Margin = new Padding(3, 4, 3, 4);
- dtxtCenterY.Name = "dtxtCenterY";
- dtxtCenterY.ReadOnly = true;
- dtxtCenterY.Size = new Size(377, 27);
- dtxtCenterY.TabIndex = 6;
- //
- // dtxtAngle
- //
- dtxtAngle.Dock = DockStyle.Fill;
- dtxtAngle.Location = new Point(132, 124);
- dtxtAngle.Margin = new Padding(3, 4, 3, 4);
- dtxtAngle.Name = "dtxtAngle";
- dtxtAngle.ReadOnly = true;
- dtxtAngle.Size = new Size(377, 27);
- dtxtAngle.TabIndex = 7;
- //
- // dtxtWidth
- //
- dtxtWidth.Dock = DockStyle.Fill;
- dtxtWidth.Location = new Point(132, 184);
- dtxtWidth.Margin = new Padding(3, 4, 3, 4);
- dtxtWidth.Name = "dtxtWidth";
- dtxtWidth.ReadOnly = true;
- dtxtWidth.Size = new Size(377, 27);
- dtxtWidth.TabIndex = 8;
- //
- // label18
- //
- label18.AutoSize = true;
- label18.Dock = DockStyle.Fill;
- label18.Location = new Point(4, 300);
- label18.Margin = new Padding(4, 0, 4, 0);
- label18.Name = "label18";
- label18.Size = new Size(121, 60);
- label18.TabIndex = 10;
- label18.Text = "鏁伴噺";
- label18.TextAlign = ContentAlignment.TopCenter;
- //
- // dtxtCount
- //
- dtxtCount.Dock = DockStyle.Fill;
- dtxtCount.Location = new Point(133, 304);
- dtxtCount.Margin = new Padding(4);
- dtxtCount.Name = "dtxtCount";
- dtxtCount.ReadOnly = true;
- dtxtCount.Size = new Size(375, 27);
- dtxtCount.TabIndex = 11;
- //
// imgTabControl
//
imgTabControl.Controls.Add(tabPageInputImage);
@@ -530,76 +494,6 @@
pnlRecordImage.Size = new Size(782, 603);
pnlRecordImage.TabIndex = 45;
//
- // tableLayoutPanel1
- //
- tableLayoutPanel1.ColumnCount = 1;
- tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
- tableLayoutPanel1.Controls.Add(tableLayoutPanel3, 0, 0);
- tableLayoutPanel1.Controls.Add(dataGridView1, 0, 1);
- tableLayoutPanel1.Dock = DockStyle.Fill;
- tableLayoutPanel1.Location = new Point(4, 4);
- tableLayoutPanel1.Name = "tableLayoutPanel1";
- tableLayoutPanel1.RowCount = 2;
- tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 10.2819233F));
- tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 89.71808F));
- tableLayoutPanel1.Size = new Size(512, 603);
- tableLayoutPanel1.TabIndex = 1;
- //
- // tableLayoutPanel3
- //
- tableLayoutPanel3.ColumnCount = 3;
- tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 31.5363884F));
- tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 68.4636154F));
- tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 136F));
- tableLayoutPanel3.Controls.Add(cmbImageEnhancement, 1, 0);
- tableLayoutPanel3.Controls.Add(label14, 0, 0);
- tableLayoutPanel3.Controls.Add(button1, 2, 0);
- tableLayoutPanel3.Location = new Point(3, 3);
- tableLayoutPanel3.Name = "tableLayoutPanel3";
- tableLayoutPanel3.RowCount = 1;
- tableLayoutPanel3.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
- tableLayoutPanel3.Size = new Size(506, 54);
- tableLayoutPanel3.TabIndex = 1;
- //
- // label14
- //
- label14.AutoSize = true;
- label14.Location = new Point(3, 0);
- label14.MaximumSize = new Size(0, 33);
- label14.MinimumSize = new Size(0, 33);
- label14.Name = "label14";
- label14.Size = new Size(69, 33);
- label14.TabIndex = 1;
- label14.Text = "婊ゆ尝绫诲瀷";
- label14.TextAlign = ContentAlignment.MiddleCenter;
- //
- // cmbImageEnhancement
- //
- cmbImageEnhancement.FormattingEnabled = true;
- cmbImageEnhancement.Location = new Point(120, 4);
- cmbImageEnhancement.Margin = new Padding(4);
- cmbImageEnhancement.Name = "cmbImageEnhancement";
- cmbImageEnhancement.Size = new Size(129, 28);
- cmbImageEnhancement.TabIndex = 14;
- //
- // button1
- //
- button1.Location = new Point(372, 3);
- button1.Name = "button1";
- button1.Size = new Size(131, 48);
- button1.TabIndex = 15;
- button1.Text = "娣诲姞";
- button1.UseVisualStyleBackColor = true;
- //
- // dataGridView1
- //
- dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- dataGridView1.Location = new Point(3, 64);
- dataGridView1.Name = "dataGridView1";
- dataGridView1.RowHeadersWidth = 51;
- dataGridView1.Size = new Size(506, 536);
- dataGridView1.TabIndex = 2;
- //
// HImageEnhancementToolEdit
//
AutoScaleDimensions = new SizeF(9F, 20F);
@@ -617,19 +511,19 @@
MainTableLayoutPanel.ResumeLayout(false);
parasTabControl.ResumeLayout(false);
tabPage1.ResumeLayout(false);
+ tableLayoutPanel1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)dataGridViewIE).EndInit();
+ tableLayoutPanel4.ResumeLayout(false);
+ tableLayoutPanel3.ResumeLayout(false);
+ tableLayoutPanel3.PerformLayout();
+ tableLayoutPanel5.ResumeLayout(false);
+ tableLayoutPanel5.PerformLayout();
tabPage5.ResumeLayout(false);
tableLayoutPanel2.ResumeLayout(false);
tableLayoutPanel2.PerformLayout();
- tabPage2.ResumeLayout(false);
- tableLayoutResults.ResumeLayout(false);
- tableLayoutResults.PerformLayout();
imgTabControl.ResumeLayout(false);
tabPageInputImage.ResumeLayout(false);
tabPageRecordImage.ResumeLayout(false);
- tableLayoutPanel1.ResumeLayout(false);
- tableLayoutPanel3.ResumeLayout(false);
- tableLayoutPanel3.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit();
ResumeLayout(false);
PerformLayout();
}
@@ -645,18 +539,6 @@
private ToolStripButton btnLoadImage;
private TabControl parasTabControl;
private TabPage tabPage1;
- private TabPage tabPage2;
- private TableLayoutPanel tableLayoutResults;
- private Label label5;
- private Label label6;
- private Label label7;
- private Label label8;
- private TextBox dtxtCenterX;
- private TextBox dtxtCenterY;
- private TextBox dtxtAngle;
- private TextBox dtxtWidth;
- private TextBox dtxtHeight;
- private Label label9;
private TabPage tabPage5;
private TabControl imgTabControl;
private TabPage tabPageInputImage;
@@ -664,8 +546,6 @@
private ToolStripButton btnSaveParas;
private ToolStripButton btnLoadParas;
private Panel pnlRecordImage;
- private Label label18;
- private TextBox dtxtCount;
private ToolStripStatusLabel lblRunTime;
private TableLayoutPanel tableLayoutPanel2;
public ComboBox cmbTypeRoi;
@@ -675,9 +555,17 @@
private CheckBox ckbDrawRoi;
private TableLayoutPanel tableLayoutPanel1;
private TableLayoutPanel tableLayoutPanel3;
- private Label label14;
+ private Label labelImageEnhancement;
private ComboBox cmbImageEnhancement;
- private Button button1;
- private DataGridView dataGridView1;
+ private DataGridView dataGridViewIE;
+ private TableLayoutPanel tableLayoutPanel4;
+ private Button btnAdd;
+ private TableLayoutPanel tableLayoutPanel5;
+ private Label labelMaskWidth;
+ private Label labelMaskHeight;
+ private Label labelFactor;
+ private TextBox txtMaskWidth;
+ private TextBox txtMaskHeight;
+ private TextBox txtFactor;
}
}
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs
index 0c04737..be2d74e 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs
@@ -1,4 +1,9 @@
-锘縰sing System;
+锘縰sing HalconDotNet;
+using LB_SmartVisionCommon;
+using LB_VisionControl;
+using LB_VisionProcesses.Alogrithms.Halcon;
+using Sunny.UI.Win32;
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
@@ -8,13 +13,454 @@
using System.Threading.Tasks;
using System.Windows.Forms;
-namespace LB_VisionProcesses.Alogrithms.Halcon._2D.HEdgeExtractionTool
+namespace LB_VisionProcesses.Alogrithms.Halcon
{
- public partial class HImageEnhancementToolEdit : UserControl
+ public partial class HImageEnhancementToolEdit : TAlgorithmEdit
{
- public HImageEnhancementToolEdit()
+
+ private int rowriginalHeight;
+ public HImageEnhancementToolEdit(HImageEnhancementTool subject = null)
{
+ if (subject != null && subject is HImageEnhancementTool)
+ Subject = subject;
+ else
+ Subject = new HImageEnhancementTool();
+
+ if (!(Subject.Params.ROI is HSegment))
+ Subject.Params.ROI = new HSegment(0, 0, 250, 250);
+
+ // 淇濆瓨鍘熷琛岄珮搴�
+ rowriginalHeight = (int)tableLayoutPanel4.RowStyles[1].Height;
+
+ this.Dock = DockStyle.Fill;
InitializeComponent();
+ InitializeComboBox();
+ InitializeDataGridView();
}
+
+ private void InitializeComboBox()
+ {
+ //// 娣诲姞鏉冮檺閫夐」
+ //foreach (var item in Enum.GetValues(typeof(UserPermission)))
+ //{
+ // cmbImageEnhancement.Items.Add(item.ToString());
+ //}
+ cmbImageEnhancement.Items.Add("emphasize杈圭紭澧炲己");
+ cmbImageEnhancement.Items.Add("equ_histo_image鐩存柟鍥惧潎琛″寲");
+ cmbImageEnhancement.Items.Add("scale_image_max姣斾緥澧炲己");
+
+ // 璁剧疆榛樿閫夋嫨椤�
+ cmbImageEnhancement.SelectedIndex = 2;
+ }
+ #region 鍥惧儚澧炲己绠楁硶閫夋嫨涓嬫媺妗�
+ private void cmbImageEnhancement_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ ComboBox cb = sender as ComboBox;
+
+ if (cb.SelectedIndex == 0)
+ {
+ ShowRow();
+ }
+ else if (cb.SelectedIndex == 1)
+ {
+ HideRow();
+ }
+ }
+ private void ShowRow()
+ {
+ // 鏄剧ずRow2锛堟仮澶嶉珮搴︼級
+ tableLayoutPanel4.RowStyles[1].SizeType = SizeType.Absolute;
+ tableLayoutPanel4.RowStyles[1].Height = rowriginalHeight;
+
+ // 鏄剧ずRow2涓殑鎺т欢
+ foreach (Control ctrl in tableLayoutPanel4.Controls)
+ {
+ int row = tableLayoutPanel4.GetRow(ctrl);
+ if (row == 1)
+ ctrl.Visible = true;
+ }
+ }
+
+ private void HideRow()
+ {
+ // 鏄剧ずRow2锛堟仮澶嶉珮搴︼級
+ tableLayoutPanel4.RowStyles[1].SizeType = SizeType.Absolute;
+ tableLayoutPanel4.RowStyles[1].Height = 0;
+
+ // 鏄剧ずRow2涓殑鎺т欢
+ foreach (Control ctrl in tableLayoutPanel4.Controls)
+ {
+ int row = tableLayoutPanel4.GetRow(ctrl);
+ if (row == 1)
+ ctrl.Visible = false;
+ }
+ }
+ #endregion
+ private void InitializeDataGridView()
+ {
+ //this.dataGridViewIE.DataSource = recordUserDatas;
+
+ // 璁剧疆鍒楁爣棰�
+ dataGridViewIE.Columns[0].Name = "婊ゆ尝鍣ㄧ被鍨�";
+ dataGridViewIE.Columns[1].Name = "鎺╄啘瀹藉害";
+ dataGridViewIE.Columns[2].Name = "鎺╄啘楂樺害";
+ dataGridViewIE.Columns[3].Name = "澧炲己鍥犲瓙";
+
+ // 璁剧疆DataGridView鍒楀
+ dataGridViewIE.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
+ }
+
+ /// <summary>
+ /// 鎺т欢鍔犺浇浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void HImageEnhancementToolEdit_Load(object sender, EventArgs e)
+ {
+ pnlInputImage.Controls.Add(inputImageHSmartWindowControl);
+ inputImageHSmartWindowControl.Dock = DockStyle.Fill;
+
+ pnlRecordImage.Controls.Add(recordImageHSmartWindowControl);
+ recordImageHSmartWindowControl.Dock = DockStyle.Fill;
+
+ //閬嶅巻鍙互閫夋嫨鐨凴oi绫诲瀷鏋氫妇
+ foreach (var value in Enum.GetValues(typeof(RoiType)))
+ cmbTypeRoi.Items.Add(value.ToString());
+
+ //閬嶅巻鍙互閫夋嫨鐨勫浘鍍忓寮虹被鍨嬫灇涓�
+ foreach (var value in Enum.GetValues(typeof(ImageEnhancementType)))
+ cmbImageEnhancement.Items.Add(value.ToString());
+
+ //閬嶅巻鍙互閫夋嫨鐨凢ixture鏋氫妇
+ cmbFixture.Items.Add("");
+ foreach (string value in IProcess.dicFixtures.Keys)
+ cmbFixture.Items.Add(value.ToString());
+
+ ckbDrawRoi.Checked = true;
+ cmbTypeRoi.Text = RoiType.Segment.ToString();
+ cmbImageEnhancement.Text = Transition.Ignore.ToString();
+ LoadParas();
+
+ if (Subject.Result)
+ {
+ lblResult.BackColor = Color.Green;
+ lblResult.Text = "True";
+ }
+ else
+ {
+ lblResult.BackColor = Color.Red;
+ lblResult.Text = "False";
+ }
+
+ lblMsg.Text = Msg.Length > 50 ? Msg.Substring(0, 50) : Msg;
+ lblMsgToolTip.SetToolTip(BtmStatusStrip, Msg);
+ lblRunTime.Text = $"{Subject.RunTime}ms";
+ }
+
+ /// <summary>
+ /// 鏇存柊杩愯鍙傛暟
+ /// </summary>
+ public override void UpdataInputs()
+ {
+ //璁剧疆杩愯鍙傛暟
+ double dResult = 0;
+ int iResult = 0;
+
+ if (cmbFixture.Text == "")
+ Subject.Params.Fixture = new Fixture();
+ else if (IProcess.dicFixtures.ContainsKey(cmbFixture.Text))
+ Subject.Params.Fixture = IProcess.dicFixtures[cmbFixture.Text];
+
+ Type type = inputImageHSmartWindowControl.oRoi?.GetType();
+ switch (type)
+ {
+ case Type t when t == typeof(HRectangle2):
+ HRectangle2 hRectangle2 = (HRectangle2)inputImageHSmartWindowControl.oRoi;
+ Subject.Params.ROI
+ = new HRectangle2(hRectangle2.X - Subject.Params.Fixture.X, hRectangle2.Y - Subject.Params.Fixture.Y
+ , hRectangle2.Phi - Subject.Params.Fixture.Phi, hRectangle2.Width, hRectangle2.Height);
+ break;
+ case Type t when t == typeof(HCircle):
+ HCircle hCircle = (HCircle)inputImageHSmartWindowControl.oRoi;
+ Subject.Params.ROI
+ = new HCircle(hCircle.X - Subject.Params.Fixture.X, hCircle.Y - Subject.Params.Fixture.Y, hCircle.Radius);
+ break;
+ case Type t when t == typeof(HSegment):
+ HSegment hSegment = (HSegment)inputImageHSmartWindowControl.oRoi;
+ Subject.Params.ROI
+ = new HSegment(hSegment.StartX - Subject.Params.Fixture.X, hSegment.StartY - Subject.Params.Fixture.Y
+ , hSegment.EndX - Subject.Params.Fixture.X, hSegment.EndY - Subject.Params.Fixture.Y);
+ break;
+ default:
+ Subject.Params.ROI = new ROI();
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鍔犺浇杩愯鍙傛暟
+ /// </summary>
+ public override void LoadParas()
+ {
+ this.BeginInvoke(new Action(() =>
+ {
+
+ if (Subject.InputImage != null && Subject.InputImage is HObject)
+ inputImageHSmartWindowControl.ShowHoImage((HObject)Subject.InputImage);
+
+ Type type = Subject.Params.ROI?.GetType();
+ if (Subject.Params.ROI != null)
+ {
+ switch (type)
+ {
+ case Type t when t == typeof(HRectangle2):
+ cmbTypeRoi.Text = RoiType.Rectangle2.ToString();
+ break;
+ case Type t when t == typeof(HCircle):
+ cmbTypeRoi.Text = RoiType.Circle.ToString();
+ break;
+ case Type t when t == typeof(HSegment):
+ cmbTypeRoi.Text = RoiType.Segment.ToString();
+ break;
+ default:
+ cmbTypeRoi.Text = RoiType.None.ToString();
+ break;
+ }
+ if (cmbTypeRoi.Text.ToString() != "None")
+ ckbDrawRoi.Checked = true;
+ else
+ ckbDrawRoi.Checked = false;
+
+ inputImageHSmartWindowControl.oRoi = Subject.Params.ROI;
+ }
+
+ if (Subject.Params.Fixture != null)
+ cmbFixture.Text = Subject.Params.Fixture.strName;
+ else
+ cmbFixture.Text = "";
+
+ switch (type)
+ {
+ case Type t when t == typeof(HRectangle2):
+ inputImageHSmartWindowControl.oRoi
+ = new HRectangle2(Subject.Params.ROI.X + Subject.Params.Fixture.X, Subject.Params.ROI.Y + Subject.Params.Fixture.Y
+ , Subject.Params.ROI.Phi + Subject.Params.Fixture.Phi, ((HRectangle2)Subject.Params.ROI).Width, ((HRectangle2)Subject.Params.ROI).Height);
+ break;
+ case Type t when t == typeof(HCircle):
+ inputImageHSmartWindowControl.oRoi
+ = new HCircle(Subject.Params.ROI.X + Subject.Params.Fixture.X, Subject.Params.ROI.Y + Subject.Params.Fixture.Y
+ , ((HCircle)Subject.Params.ROI).Radius);
+ break;
+ case Type t when t == typeof(HSegment):
+ inputImageHSmartWindowControl.oRoi
+ = new HSegment(((HSegment)Subject.Params.ROI).StartX + Subject.Params.Fixture.X, ((HSegment)Subject.Params.ROI).StartY + Subject.Params.Fixture.Y
+ , ((HSegment)Subject.Params.ROI).EndX + Subject.Params.Fixture.X, ((HSegment)Subject.Params.ROI).EndY + Subject.Params.Fixture.Y);
+ break;
+ default:
+ inputImageHSmartWindowControl.oRoi = null;
+ break;
+ }
+ }));
+ }
+ private void btnAdd_Click(object sender, EventArgs e)
+ {
+ switch (cmbImageEnhancement.SelectedIndex)
+ {
+ case 0:
+
+ break;
+ case 1:
+
+ break;
+ case 2:
+
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鐐瑰嚮杩愯
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ public override void btnRun_Click(object sender, EventArgs e)
+ {
+ if (Subject.InputImage != null)
+ InputImage = Subject.InputImage;
+
+ DateTime StartTime = DateTime.Now;
+ Run();
+
+ //鏇存柊鏃ュ織涓庣粨鏋�
+ this.BeginInvoke(new Action(() =>
+ {
+ if (Subject.Result)
+ {
+ lblResult.BackColor = Color.Green;
+ lblResult.Text = "True";
+ recordImageHSmartWindowControl.SetColor("green");
+ }
+ else
+ {
+ lblResult.BackColor = Color.Red;
+ lblResult.Text = "False";
+ recordImageHSmartWindowControl.SetColor("red");
+ }
+
+ lblMsg.Text = Msg.Length > 50 ? Msg.Substring(0, 50) : Msg;
+ lblMsgToolTip.SetToolTip(BtmStatusStrip, Msg);
+ lblRunTime.Text = $"{(DateTime.Now - StartTime).TotalMilliseconds}ms";
+
+ UpdataOutputs();
+ imgTabControl.SelectedTab = tabPageRecordImage;
+
+ if (Subject.InputImage != null && Subject.InputImage is HObject)
+ {
+ HOperatorSet.GetImageSize((HObject)Subject.InputImage, out HTuple ho_ImageWidth, out HTuple ho_ImageHeight);
+ recordImageHSmartWindowControl.ShowHoImage((HObject)Subject.InputImage);
+ }
+
+ //鍏堝垽鏂瓙绫诲啀鍒ゆ柇鐖剁被
+ if (Subject.Record != null && Subject.Record is MsgRecord msgRecord)
+ {
+ recordImageHSmartWindowControl.DispObj(msgRecord.RecordObject_OK, true);
+ recordImageHSmartWindowControl.DispObj(msgRecord.RecordObject_NG, false);
+
+ for (int i = 0; i < msgRecord.Msg.Length; i++)
+ recordImageHSmartWindowControl.ShowMsg(msgRecord.Msg[i]
+ , 1 == msgRecord.Result[i] ? true : false, msgRecord.Column[i], msgRecord.Row[i]);
+ }
+ else if (Subject.Record != null && Subject.Record is ObjectRecord objRecord)
+ {
+ recordImageHSmartWindowControl.DispObj(objRecord.RecordObject_OK, true);
+ recordImageHSmartWindowControl.DispObj(objRecord.RecordObject_NG, false);
+ }
+
+ GC.Collect();
+ }));
+ }
+ #region 宸ュ叿鏍忔寜閽簨浠�
+ /// <summary>
+ /// 宸ュ叿鏍忊�滃鍥锯��
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ public override void btnLoadImage_Click(object sender, EventArgs e)
+ {
+ OpenFileDialog openFileDialog = new OpenFileDialog();
+
+ // 璁剧疆鏂囦欢瀵硅瘽妗嗙殑灞炴��
+ openFileDialog.Multiselect = false; // 涓嶅厑璁稿閫�
+ // 璁剧疆鏂囦欢杩囨护鍣紝鏀寔澶氱鏂囦欢绫诲瀷
+ openFileDialog.Filter = "Image Files (*.png;*.jpg;*.jpeg;*.bmp)|*.png;*.jpg;*.jpeg;*.bmp|All Files (*.*)|*.*";
+ // 鏄剧ず鏂囦欢瀵硅瘽妗�
+ DialogResult result = openFileDialog.ShowDialog();
+
+ // 澶勭悊瀵硅瘽妗嗚繑鍥炵粨鏋�
+ if (result == DialogResult.OK)
+ {
+ // 鑾峰彇鐢ㄦ埛閫夋嫨鐨勬枃浠跺悕
+ string[] selectedFiles = openFileDialog.FileNames;
+ if (selectedFiles.Length > 0)
+ {
+ HOperatorSet.ReadImage(out HObject ho_Image, selectedFiles[0]);
+ //鍒ゆ柇鏄惁涓虹伆搴﹀浘
+ using (HDevDisposeHelper dh = new HDevDisposeHelper())
+ {
+ HOperatorSet.CountChannels(ho_Image, out HTuple hv_Channels);
+ if (hv_Channels.TupleInt() != 1)
+ {
+ HOperatorSet.Rgb1ToGray(ho_Image, out ho_Image);
+ //鏇存柊鏃ュ織涓庣粨鏋�
+ this.BeginInvoke(new Action(() =>
+ {
+ lblMsg.Text = "瀵煎叆鍥剧墖闈炵伆搴﹀浘,鑷姩杞崲涓虹伆搴﹀浘";
+ }));
+ }
+ InputImage = ho_Image;
+ imgTabControl.SelectedTab = tabPageInputImage;
+ inputImageHSmartWindowControl.oRoi = inputImageHSmartWindowControl.oRoi;
+ }
+ }
+ }
+ }
+ /// <summary>
+ /// 宸ュ叿鏍忊�滀繚瀛樷��
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ public override void btnSaveParas_Click(object sender, EventArgs e) { base.btnSaveParas_Click(sender, e); }
+ #endregion
+ #region ROI鍔熻兘
+ /// <summary>
+ /// 鏄惁鍚敤ROI
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ public override void ckbDrawRoi_CheckedChanged(object sender, EventArgs e)
+ {
+ if (ckbDrawRoi.Checked)
+ {
+ inputImageHSmartWindowControl.bAollowDraw = true;
+ imgTabControl.SelectedTab = tabPageInputImage;
+ }
+ else
+ {
+ inputImageHSmartWindowControl.bAollowDraw = false;
+ Subject.Params.ROI = new ROI();
+ }
+ }
+ /// <summary>
+ /// ROI涓嬫媺妗嗘敼鍙樹簨浠�
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ public override void cmbTypeRoi_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ try
+ {
+ if (Enum.TryParse(cmbTypeRoi.Text.ToString(), out RoiType type))
+ {
+ HTuple hv_imageWidth = 0;
+ HTuple hv_imageHeight = 0;
+ if (InputImage != null && InputImage is HObject)
+ HOperatorSet.GetImageSize((HObject)InputImage, out hv_imageWidth, out hv_imageHeight);
+ switch (type)
+ {
+ case RoiType.Rectangle2:
+ inputImageHSmartWindowControl.oRoi
+ = new HRectangle2(hv_imageWidth.TupleReal() / 2, hv_imageHeight.TupleReal() / 2, 0
+ , hv_imageWidth.TupleReal() / 4, hv_imageHeight.TupleReal() / 4);
+ break;
+ case RoiType.Circle:
+ inputImageHSmartWindowControl.oRoi
+ = new HCircle(hv_imageWidth.TupleReal() / 2, hv_imageHeight.TupleReal() / 2, hv_imageWidth.TupleReal() / 4);
+ break;
+ case RoiType.Segment:
+ inputImageHSmartWindowControl.oRoi
+ = new HSegment(0, 0, hv_imageWidth.TupleReal() / 4, hv_imageHeight.TupleReal() / 4);
+ break;
+ case RoiType.None:
+ default:
+ inputImageHSmartWindowControl.oRoi = null;
+ break;
+ }
+ }
+ }
+ catch { }
+ }
+ #endregion
+ public override void cmbFixture_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ try
+ {
+ if (IProcess.dicFixtures.ContainsKey(cmbFixture.Text))
+ Subject.Params.Fixture = IProcess.dicFixtures[cmbFixture.Text];
+ else
+ Subject.Params.Fixture = new Fixture();
+ }
+ catch { }
+ }
+
}
}
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.resx b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.resx
index 66dba7c..3d728b5 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.resx
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.resx
@@ -117,10 +117,13 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <metadata name="TopToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <metadata name="lblMsgToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
+ <metadata name="TopToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>183, 17</value>
+ </metadata>
<metadata name="BtmStatusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>174, 17</value>
+ <value>340, 17</value>
</metadata>
</root>
\ No newline at end of file
diff --git a/LB_VisionProcesses/ProcessEditForm.cs b/LB_VisionProcesses/ProcessEditForm.cs
index 9bb0a63..4db125b 100644
--- a/LB_VisionProcesses/ProcessEditForm.cs
+++ b/LB_VisionProcesses/ProcessEditForm.cs
@@ -99,7 +99,7 @@
e.Cancel = true; //鍙栨秷鍏抽棴绐椾綋
return;
}
-
+
if (res == DialogResult.Yes && OriProcess != null) //淇濆瓨VPP
{
//鍒╃敤鍙嶅皠鍒涘缓瀹炰緥锛屽懡鍚嶈鑼冿細Tool+Edit
--
Gitblit v1.9.3