From 8db52bc296f662691a17aabeeabebd713e3b576d Mon Sep 17 00:00:00 2001
From: C3031 <shitiangui@lanpucloud.cn>
Date: 星期五, 06 三月 2026 16:53:08 +0800
Subject: [PATCH] Merge branch 'master' of http://lanpucloud.cn:1111/r/~zhengyabo/LB_TyreAppearanceInspectionSoftware
---
LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs | 196 ++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 152 insertions(+), 44 deletions(-)
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs
index be2d74e..c41bf2b 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs
@@ -2,6 +2,8 @@
using LB_SmartVisionCommon;
using LB_VisionControl;
using LB_VisionProcesses.Alogrithms.Halcon;
+using Microsoft.VisualBasic.ApplicationServices;
+using OpenCvSharp;
using Sunny.UI.Win32;
using System;
using System.Collections.Generic;
@@ -12,12 +14,13 @@
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace LB_VisionProcesses.Alogrithms.Halcon
{
public partial class HImageEnhancementToolEdit : TAlgorithmEdit
{
-
+ List<RecordImageEnhancementData> recordImageEnhancementDatas = new List<RecordImageEnhancementData>();
private int rowriginalHeight;
public HImageEnhancementToolEdit(HImageEnhancementTool subject = null)
{
@@ -26,42 +29,47 @@
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;
+ //if (!(Subject.Params.ROI is HSegment))
+ // Subject.Params.ROI = new HSegment(0, 0, 250, 250);
this.Dock = DockStyle.Fill;
InitializeComponent();
+ // 淇濆瓨鍘熷琛岄珮搴�
+ rowriginalHeight = (int)tableLayoutPanel4.RowStyles[1].Height;
+
InitializeComboBox();
InitializeDataGridView();
+
+ recordImageEnhancementDatas = ImageEnhancementManager.Instance.GetAllUsers();
+ this.dataGridViewIE.DataSource = recordImageEnhancementDatas;
+ this.dataGridViewIE.AutoGenerateColumns = true;
}
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姣斾緥澧炲己");
+ // 娣诲姞鏉冮檺閫夐」
+ foreach (var item in Enum.GetValues(typeof(ImageEnhancementDataType)))
+ {
+ cmbImageEnhancement.Items.Add(item.ToString());
+ }
// 璁剧疆榛樿閫夋嫨椤�
cmbImageEnhancement.SelectedIndex = 2;
}
- #region 鍥惧儚澧炲己绠楁硶閫夋嫨涓嬫媺妗�
+ #region 绠楁硶閫夋嫨涓嬫媺妗�
private void cmbImageEnhancement_SelectedIndexChanged(object sender, EventArgs e)
{
- ComboBox cb = sender as ComboBox;
+ System.Windows.Forms.ComboBox cb = sender as System.Windows.Forms.ComboBox;
if (cb.SelectedIndex == 0)
{
ShowRow();
}
else if (cb.SelectedIndex == 1)
+ {
+ HideRow();
+ }
+ else
{
HideRow();
}
@@ -98,13 +106,7 @@
#endregion
private void InitializeDataGridView()
{
- //this.dataGridViewIE.DataSource = recordUserDatas;
-
- // 璁剧疆鍒楁爣棰�
- dataGridViewIE.Columns[0].Name = "婊ゆ尝鍣ㄧ被鍨�";
- dataGridViewIE.Columns[1].Name = "鎺╄啘瀹藉害";
- dataGridViewIE.Columns[2].Name = "鎺╄啘楂樺害";
- dataGridViewIE.Columns[3].Name = "澧炲己鍥犲瓙";
+ this.dataGridViewIE.DataSource = recordImageEnhancementDatas;
// 璁剧疆DataGridView鍒楀
dataGridViewIE.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
@@ -128,8 +130,8 @@
cmbTypeRoi.Items.Add(value.ToString());
//閬嶅巻鍙互閫夋嫨鐨勫浘鍍忓寮虹被鍨嬫灇涓�
- foreach (var value in Enum.GetValues(typeof(ImageEnhancementType)))
- cmbImageEnhancement.Items.Add(value.ToString());
+ //foreach (var value in Enum.GetValues(typeof(ImageEnhancementType)))
+ // cmbImageEnhancement.Items.Add(value.ToString());
//閬嶅巻鍙互閫夋嫨鐨凢ixture鏋氫妇
cmbFixture.Items.Add("");
@@ -138,7 +140,7 @@
ckbDrawRoi.Checked = true;
cmbTypeRoi.Text = RoiType.Segment.ToString();
- cmbImageEnhancement.Text = Transition.Ignore.ToString();
+ cmbImageEnhancement.Text = ImageEnhancementType.ScaleMax.ToString();
LoadParas();
if (Subject.Result)
@@ -156,7 +158,125 @@
lblMsgToolTip.SetToolTip(BtmStatusStrip, Msg);
lblRunTime.Text = $"{Subject.RunTime}ms";
}
+ private void ClearInputFields()
+ {
+ txtMaskWidth.Clear();
+ txtMaskHeight.Clear();
+ txtFactor.Clear();
+ cmbImageEnhancement.SelectedIndex = 0;
+ }
+ private void btnAdd_Click(object sender, EventArgs e)
+ {
+ // 楠岃瘉杈撳叆
+ if (cmbImageEnhancement.SelectedIndex == 0)
+ {
+ if (string.IsNullOrWhiteSpace(txtMaskWidth.Text) || string.IsNullOrWhiteSpace(txtMaskHeight.Text) || string.IsNullOrWhiteSpace(txtFactor.Text))
+ {
+ MessageBox.Show("璇峰~鍐欐墍鏈夊繀濉瓧娈碉紒", "鎻愮ず",
+ MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ RecordImageEnhancementData filter = new RecordImageEnhancementData();
+ filter.MaskWidth = this.txtMaskWidth.Text;
+ filter.MaskHight = this.txtMaskHeight.Text;
+ filter.Factor = this.txtFactor.Text;
+ filter.FilterName = (ImageEnhancementDataType)this.cmbImageEnhancement.SelectedIndex;
+ // 娣诲姞鍒� UserManager
+ bool success = ImageEnhancementManager.Instance.AddUser(filter);
+ if (success)
+ {
+ recordImageEnhancementDatas.Add(filter);
+ //MessageBox.Show("鐢ㄦ埛娣诲姞鎴愬姛锛�", "鎻愮ず",
+ // MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+ // 娓呯┖杈撳叆妗�
+ ClearInputFields();
+ }
+ else
+ {
+ MessageBox.Show("娣诲姞鐢ㄦ埛澶辫触锛�", "閿欒",
+ MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ recordImageEnhancementDatas = ImageEnhancementManager.Instance.GetAllUsers();
+ this.dataGridViewIE.DataSource = recordImageEnhancementDatas;
+ this.dataGridViewIE.AutoGenerateColumns = true;
+ }
+
+ private void btnDel_Click(object sender, EventArgs e)
+ {
+ // 妫�鏌ユ槸鍚︽湁閫変腑鐨勬护娉㈢被鍨�
+ if (cmbImageEnhancement.SelectedIndex < 0)
+ {
+ MessageBox.Show("璇烽�夋嫨瑕佸垹闄ょ殑婊ゆ尝绫诲瀷锛�", "鎻愮ず",
+ MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+
+ try
+ {
+ DataGridViewRow selectedRow = dataGridViewIE.SelectedRows[0];
+ string filterToDel = selectedRow.Cells[0].Value?.ToString();
+
+ ImageEnhancementDataType filterToDelete = (ImageEnhancementDataType)cmbImageEnhancement.SelectedIndex;
+
+ // 鏌ユ壘瀵瑰簲鐨勮褰�
+ RecordImageEnhancementData filterToRemove = null;
+
+ // 浠庢湰鍦板垪琛ㄤ腑鏌ユ壘
+ foreach (var filter in recordImageEnhancementDatas)
+ {
+ if (filter.FilterName.ToString() == filterToDel)
+ {
+ filterToRemove = filter;
+ break;
+ }
+ }
+
+ if (filterToRemove == null)
+ {
+ MessageBox.Show("鏈壘鍒板搴旂殑璁板綍锛�", "鎻愮ず",
+ MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+
+ // 纭鍒犻櫎
+ DialogResult result = MessageBox.Show(
+ $"纭畾瑕佸垹闄� '{filterToDel}' 璁板綍鍚楋紵",
+ "纭鍒犻櫎",
+ MessageBoxButtons.YesNo,
+ MessageBoxIcon.Question,
+ MessageBoxDefaultButton.Button2); // 榛樿閫夋嫨"鍚�"
+
+ if (result == DialogResult.No)
+ return;
+
+ // 浠庣鐞嗗櫒涓垹闄�
+ bool success = ImageEnhancementManager.Instance.DeleteUser(filterToRemove);
+
+ if (success)
+ {
+ // 浠庢湰鍦板垪琛ㄤ腑鍒犻櫎
+ recordImageEnhancementDatas.Remove(filterToRemove);
+
+ MessageBox.Show("鍒犻櫎鎴愬姛锛�", "鎻愮ず",
+ MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ else
+ {
+ MessageBox.Show("鍒犻櫎澶辫触锛�", "閿欒",
+ MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ recordImageEnhancementDatas = ImageEnhancementManager.Instance.GetAllUsers();
+ this.dataGridViewIE.DataSource = recordImageEnhancementDatas;
+ this.dataGridViewIE.AutoGenerateColumns = true;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("璇烽�夋嫨瑕佸垹闄ょ殑绠楀瓙");
+ }
+ }
/// <summary>
/// 鏇存柊杩愯鍙傛暟
/// </summary>
@@ -262,22 +382,8 @@
}
}));
}
- private void btnAdd_Click(object sender, EventArgs e)
- {
- switch (cmbImageEnhancement.SelectedIndex)
- {
- case 0:
- break;
- case 1:
-
- break;
- case 2:
-
- break;
- }
- }
-
+ #region 宸ュ叿鏍忔寜閽簨浠�
/// <summary>
/// 鐐瑰嚮杩愯
/// </summary>
@@ -339,7 +445,7 @@
GC.Collect();
}));
}
- #region 宸ュ叿鏍忔寜閽簨浠�
+
/// <summary>
/// 宸ュ叿鏍忊�滃鍥锯��
/// </summary>
@@ -449,7 +555,7 @@
}
catch { }
}
- #endregion
+
public override void cmbFixture_SelectedIndexChanged(object sender, EventArgs e)
{
try
@@ -461,6 +567,8 @@
}
catch { }
}
-
+ #endregion
+
+
}
}
--
Gitblit v1.9.3