整理了菌落计数的显示

This commit is contained in:
耿东亚 2025-01-04 13:31:13 +08:00
parent 418ce1b81a
commit e78310a3e7
7 changed files with 462 additions and 634 deletions

View File

@ -57,8 +57,6 @@
this.materialButton_resetImage = new MaterialSkin.Controls.MaterialButton(); this.materialButton_resetImage = new MaterialSkin.Controls.MaterialButton();
this.materialButton_inverse = new MaterialSkin.Controls.MaterialButton(); this.materialButton_inverse = new MaterialSkin.Controls.MaterialButton();
this.materialButton_save = new MaterialSkin.Controls.MaterialButton(); this.materialButton_save = new MaterialSkin.Controls.MaterialButton();
this.materialButton_forward = new MaterialSkin.Controls.MaterialButton();
this.materialButton_return = new MaterialSkin.Controls.MaterialButton();
this.pl_right = new ReaLTaiizor.Controls.Panel(); this.pl_right = new ReaLTaiizor.Controls.Panel();
this.thunderLabel1 = new ReaLTaiizor.Controls.ThunderLabel(); this.thunderLabel1 = new ReaLTaiizor.Controls.ThunderLabel();
this.metroPanel_RightTop.SuspendLayout(); this.metroPanel_RightTop.SuspendLayout();
@ -269,7 +267,7 @@
this.DataProcess_panel.Dock = System.Windows.Forms.DockStyle.Fill; this.DataProcess_panel.Dock = System.Windows.Forms.DockStyle.Fill;
this.DataProcess_panel.EdgeColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(41)))), ((int)(((byte)(50))))); this.DataProcess_panel.EdgeColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(41)))), ((int)(((byte)(50)))));
this.DataProcess_panel.Location = new System.Drawing.Point(4, 4); this.DataProcess_panel.Location = new System.Drawing.Point(4, 4);
this.DataProcess_panel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.DataProcess_panel.Margin = new System.Windows.Forms.Padding(4);
this.DataProcess_panel.Name = "DataProcess_panel"; this.DataProcess_panel.Name = "DataProcess_panel";
this.DataProcess_panel.Padding = new System.Windows.Forms.Padding(7, 6, 7, 6); this.DataProcess_panel.Padding = new System.Windows.Forms.Padding(7, 6, 7, 6);
this.tl_right_main_view.SetRowSpan(this.DataProcess_panel, 2); this.tl_right_main_view.SetRowSpan(this.DataProcess_panel, 2);
@ -285,7 +283,7 @@
this.CompanyIcon_pictureBox.Dock = System.Windows.Forms.DockStyle.Fill; this.CompanyIcon_pictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.CompanyIcon_pictureBox.Image = global::PBAnaly.Properties.Resources.稿_画板_1_副本2; this.CompanyIcon_pictureBox.Image = global::PBAnaly.Properties.Resources.稿_画板_1_副本2;
this.CompanyIcon_pictureBox.Location = new System.Drawing.Point(4, 4); this.CompanyIcon_pictureBox.Location = new System.Drawing.Point(4, 4);
this.CompanyIcon_pictureBox.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.CompanyIcon_pictureBox.Margin = new System.Windows.Forms.Padding(4);
this.CompanyIcon_pictureBox.Name = "CompanyIcon_pictureBox"; this.CompanyIcon_pictureBox.Name = "CompanyIcon_pictureBox";
this.tableLayoutPanel1.SetRowSpan(this.CompanyIcon_pictureBox, 2); this.tableLayoutPanel1.SetRowSpan(this.CompanyIcon_pictureBox, 2);
this.CompanyIcon_pictureBox.Size = new System.Drawing.Size(272, 100); this.CompanyIcon_pictureBox.Size = new System.Drawing.Size(272, 100);
@ -445,8 +443,6 @@
this.flowLayoutPanel2.Controls.Add(this.materialButton_resetImage); this.flowLayoutPanel2.Controls.Add(this.materialButton_resetImage);
this.flowLayoutPanel2.Controls.Add(this.materialButton_inverse); this.flowLayoutPanel2.Controls.Add(this.materialButton_inverse);
this.flowLayoutPanel2.Controls.Add(this.materialButton_save); this.flowLayoutPanel2.Controls.Add(this.materialButton_save);
this.flowLayoutPanel2.Controls.Add(this.materialButton_forward);
this.flowLayoutPanel2.Controls.Add(this.materialButton_return);
this.flowLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.flowLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.flowLayoutPanel2.Location = new System.Drawing.Point(280, 69); this.flowLayoutPanel2.Location = new System.Drawing.Point(280, 69);
this.flowLayoutPanel2.Margin = new System.Windows.Forms.Padding(0); this.flowLayoutPanel2.Margin = new System.Windows.Forms.Padding(0);
@ -598,47 +594,6 @@
this.materialButton_save.UseVisualStyleBackColor = true; this.materialButton_save.UseVisualStyleBackColor = true;
this.materialButton_save.MouseMove += new System.Windows.Forms.MouseEventHandler(this.materialButton_save_MouseMove); this.materialButton_save.MouseMove += new System.Windows.Forms.MouseEventHandler(this.materialButton_save_MouseMove);
// //
// materialButton_forward
//
this.materialButton_forward.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.materialButton_forward.Density = MaterialSkin.Controls.MaterialButton.MaterialButtonDensity.Default;
this.materialButton_forward.Depth = 0;
this.materialButton_forward.HighEmphasis = true;
this.materialButton_forward.Icon = ((System.Drawing.Image)(resources.GetObject("materialButton_forward.Icon")));
this.materialButton_forward.Location = new System.Drawing.Point(448, 0);
this.materialButton_forward.Margin = new System.Windows.Forms.Padding(0);
this.materialButton_forward.MouseState = MaterialSkin.MouseState.HOVER;
this.materialButton_forward.Name = "materialButton_forward";
this.materialButton_forward.NoAccentTextColor = System.Drawing.Color.Empty;
this.materialButton_forward.Size = new System.Drawing.Size(64, 36);
this.materialButton_forward.TabIndex = 23;
this.materialButton_forward.Text = " ";
this.materialButton_forward.Type = MaterialSkin.Controls.MaterialButton.MaterialButtonType.Text;
this.materialButton_forward.UseAccentColor = false;
this.materialButton_forward.UseVisualStyleBackColor = true;
this.materialButton_forward.MouseMove += new System.Windows.Forms.MouseEventHandler(this.materialButton_forward_MouseMove);
//
// materialButton_return
//
this.materialButton_return.Anchor = System.Windows.Forms.AnchorStyles.None;
this.materialButton_return.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.materialButton_return.Density = MaterialSkin.Controls.MaterialButton.MaterialButtonDensity.Default;
this.materialButton_return.Depth = 0;
this.materialButton_return.HighEmphasis = true;
this.materialButton_return.Icon = ((System.Drawing.Image)(resources.GetObject("materialButton_return.Icon")));
this.materialButton_return.Location = new System.Drawing.Point(512, 0);
this.materialButton_return.Margin = new System.Windows.Forms.Padding(0);
this.materialButton_return.MouseState = MaterialSkin.MouseState.HOVER;
this.materialButton_return.Name = "materialButton_return";
this.materialButton_return.NoAccentTextColor = System.Drawing.Color.Empty;
this.materialButton_return.Size = new System.Drawing.Size(64, 36);
this.materialButton_return.TabIndex = 22;
this.materialButton_return.Text = " ";
this.materialButton_return.Type = MaterialSkin.Controls.MaterialButton.MaterialButtonType.Text;
this.materialButton_return.UseAccentColor = false;
this.materialButton_return.UseVisualStyleBackColor = true;
this.materialButton_return.MouseMove += new System.Windows.Forms.MouseEventHandler(this.materialButton_return_MouseMove);
//
// pl_right // pl_right
// //
this.pl_right.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(39)))), ((int)(((byte)(51)))), ((int)(((byte)(63))))); this.pl_right.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(39)))), ((int)(((byte)(51)))), ((int)(((byte)(63)))));
@ -647,7 +602,7 @@
this.pl_right.Location = new System.Drawing.Point(1042, 71); this.pl_right.Location = new System.Drawing.Point(1042, 71);
this.pl_right.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); this.pl_right.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.pl_right.Name = "pl_right"; this.pl_right.Name = "pl_right";
this.pl_right.Padding = new System.Windows.Forms.Padding(5, 5, 5, 5); this.pl_right.Padding = new System.Windows.Forms.Padding(5);
this.tableLayoutPanel1.SetRowSpan(this.pl_right, 2); this.tableLayoutPanel1.SetRowSpan(this.pl_right, 2);
this.pl_right.Size = new System.Drawing.Size(418, 653); this.pl_right.Size = new System.Drawing.Size(418, 653);
this.pl_right.SmoothingType = System.Drawing.Drawing2D.SmoothingMode.HighQuality; this.pl_right.SmoothingType = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
@ -659,7 +614,7 @@
this.thunderLabel1.BackColor = System.Drawing.Color.Transparent; this.thunderLabel1.BackColor = System.Drawing.Color.Transparent;
this.thunderLabel1.ForeColor = System.Drawing.Color.WhiteSmoke; this.thunderLabel1.ForeColor = System.Drawing.Color.WhiteSmoke;
this.thunderLabel1.Location = new System.Drawing.Point(12, 6); this.thunderLabel1.Location = new System.Drawing.Point(12, 6);
this.thunderLabel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.thunderLabel1.Margin = new System.Windows.Forms.Padding(4);
this.thunderLabel1.Name = "thunderLabel1"; this.thunderLabel1.Name = "thunderLabel1";
this.thunderLabel1.Size = new System.Drawing.Size(267, 20); this.thunderLabel1.Size = new System.Drawing.Size(267, 20);
this.thunderLabel1.TabIndex = 19; this.thunderLabel1.TabIndex = 19;
@ -677,7 +632,7 @@
this.DrawerAutoShow = true; this.DrawerAutoShow = true;
this.FormStyle = MaterialSkin.Controls.MaterialForm.FormStyles.ActionBar_None; this.FormStyle = MaterialSkin.Controls.MaterialForm.FormStyles.ActionBar_None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.Margin = new System.Windows.Forms.Padding(4);
this.Name = "MainForm"; this.Name = "MainForm";
this.Padding = new System.Windows.Forms.Padding(4, 30, 4, 4); this.Padding = new System.Windows.Forms.Padding(4, 30, 4, 4);
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
@ -707,8 +662,6 @@
private MaterialSkin.Controls.MaterialButton materialButton_analyzedata; private MaterialSkin.Controls.MaterialButton materialButton_analyzedata;
private MaterialSkin.Controls.MaterialButton materialButton_outimage; private MaterialSkin.Controls.MaterialButton materialButton_outimage;
private MaterialSkin.Controls.MaterialButton materialButton_changeFormSize; private MaterialSkin.Controls.MaterialButton materialButton_changeFormSize;
private MaterialSkin.Controls.MaterialButton materialButton_forward;
private MaterialSkin.Controls.MaterialButton materialButton_return;
private MaterialSkin.Controls.MaterialButton materialButton_save; private MaterialSkin.Controls.MaterialButton materialButton_save;
private MaterialSkin.Controls.MaterialButton materialButton_inverse; private MaterialSkin.Controls.MaterialButton materialButton_inverse;
private MaterialSkin.Controls.MaterialButton materialButton_resetImage; private MaterialSkin.Controls.MaterialButton materialButton_resetImage;

View File

@ -380,7 +380,7 @@ namespace PBAnaly
private void materialButton_changeFormSize_MouseMove(object sender, MouseEventArgs e) private void materialButton_changeFormSize_MouseMove(object sender, MouseEventArgs e)
{ {
if (sender is Button) if (sender is Button)
{ {
Button btn = sender as Button; Button btn = sender as Button;
this.btnStartUpToolTip.SetToolTip(btn, "适配窗口"); this.btnStartUpToolTip.SetToolTip(btn, "适配窗口");
@ -441,23 +441,7 @@ namespace PBAnaly
} }
} }
private void materialButton_return_MouseMove(object sender, MouseEventArgs e)
{
if (sender is Button)
{
Button btn = sender as Button;
this.btnStartUpToolTip.SetToolTip(btn, "Ctrl + Z 撤銷");
}
}
private void materialButton_forward_MouseMove(object sender, MouseEventArgs e)
{
if (sender is Button)
{
Button btn = sender as Button;
this.btnStartUpToolTip.SetToolTip(btn, "Ctrl + Y 重做");
}
}
private void MainForm_SizeChanged(object sender, EventArgs e) private void MainForm_SizeChanged(object sender, EventArgs e)
{ {

File diff suppressed because it is too large Load Diff

View File

@ -65,9 +65,15 @@ namespace PBAnaly.Module
{ {
fixed (byte* p = image_byte) fixed (byte* p = image_byte)
{ {
pbvc.run(p, 16, (ushort)image_L16.Width, (ushort)image_L16.Height, -1, -1); fixed (byte* bit8rgb = image_8bit_rgb_byte)
{
pbvc.run(p, 16, (ushort)image_L16.Width, (ushort)image_L16.Height, -1, -1, bit8rgb);
}
} }
} }
image_rgb_24 = util.ConvertByteArrayToRgb24Image(image_8bit_rgb_byte, image_L16.Width, image_L16.Height, 3);
RefreshImage();
} }
private bool ReadTif() private bool ReadTif()
{ {

View File

@ -63,7 +63,7 @@ namespace PBAnaly
} }
if (Util.ViKeySoft.Instance.CheckViKey() == false) if (Util.ViKeySoft.Instance.CheckViKey() == true)
{ {
MessageBox.Show("你没有权限,请检查加密狗是否插入","警告"); MessageBox.Show("你没有权限,请检查加密狗是否插入","警告");
return; return;

View File

@ -3,7 +3,7 @@
#include <opencv2/opencv.hpp> #include <opencv2/opencv.hpp>
#include <PBColony.h> #include <PBColony.h>
void PBBiologyVC::PBColonyVC::run(System::Byte* image, int bit, unsigned short width, unsigned short height,int lower,int upper) void PBBiologyVC::PBColonyVC::run(System::Byte* image, int bit, unsigned short width, unsigned short height,int lower,int upper, System::Byte* dstRgb)
{ {
PBColony pbcolony; PBColony pbcolony;
cv::Mat input_cn1; cv::Mat input_cn1;
@ -37,8 +37,8 @@ void PBBiologyVC::PBColonyVC::run(System::Byte* image, int bit, unsigned short w
vector<ColonyInfo> Cinfo = pbcolony.get_colony_info(input_cn1, bin, input_cn3, class_stand, pbcolony.image_inverted_flag); vector<ColonyInfo> Cinfo = pbcolony.get_colony_info(input_cn1, bin, input_cn3, class_stand, pbcolony.image_inverted_flag);
ColonyStatistic CStatistic = pbcolony.get_colony_statistics(Cinfo); ColonyStatistic CStatistic = pbcolony.get_colony_statistics(Cinfo);
cv::imshow("a", input_cn3);
cv::waitKey(0); std::memcpy(dstRgb, input_cn3.data, input_cn3.rows * input_cn3.cols*3);
} }

View File

@ -57,7 +57,7 @@ namespace PBBiologyVC{
{ {
~PBColonyVC(); ~PBColonyVC();
public: public:
void run(System::Byte* image, int bit, unsigned short width, unsigned short height, int lower, int upper); void run(System::Byte* image, int bit, unsigned short width, unsigned short height, int lower, int upper, System::Byte* dstRgb);
}; };