Commit 93679137 authored by tr's avatar tr

1、图片搜索:应用测试(采样尺寸16)

parent aa572d03
......@@ -85,6 +85,8 @@ namespace Tools.MyUtils
#endregion
#region winform:提示;帮助窗口;异步UI支持
/// <summary>
/// 提示框
/// </summary>
......@@ -108,6 +110,25 @@ namespace Tools.MyUtils
}
}
}
/// <summary>
/// 异步UI支持
/// </summary>
/// <param name="frm"></param>
/// <param name="action"></param>
public static void AsyncUI(this Form frm, Action action)
{
if (frm.Disposing || frm.IsDisposed)
return;
//
if (frm.InvokeRequired)
frm.Invoke(action);
else
action();
}
#endregion
#region 序号生成
/// <summary>
/// 生成定长序号
/// </summary>
......@@ -125,6 +146,8 @@ namespace Tools.MyUtils
return s;
}
#endregion
#region 数据库链接处理
/// <summary>
......
......@@ -28,543 +28,648 @@
/// </summary>
private void InitializeComponent()
{
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.pictureBox3 = new System.Windows.Forms.PictureBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.pictureBox1_b = new System.Windows.Forms.PictureBox();
this.pictureBox2_b = new System.Windows.Forms.PictureBox();
this.pictureBox3_b = new System.Windows.Forms.PictureBox();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.components = new System.ComponentModel.Container();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.label27 = new System.Windows.Forms.Label();
this.label4_p = new System.Windows.Forms.Label();
this.label25 = new System.Windows.Forms.Label();
this.label3_p = new System.Windows.Forms.Label();
this.label23 = new System.Windows.Forms.Label();
this.label2_p = new System.Windows.Forms.Label();
this.label21 = new System.Windows.Forms.Label();
this.label1_p = new System.Windows.Forms.Label();
this.label19 = new System.Windows.Forms.Label();
this.dataGridView3 = new System.Windows.Forms.DataGridView();
this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label17 = new System.Windows.Forms.Label();
this.dataGridView2 = new System.Windows.Forms.DataGridView();
this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label24 = new System.Windows.Forms.Label();
this.label4_d = new System.Windows.Forms.Label();
this.label22 = new System.Windows.Forms.Label();
this.label3_d = new System.Windows.Forms.Label();
this.label20 = new System.Windows.Forms.Label();
this.label2_d = new System.Windows.Forms.Label();
this.label18 = new System.Windows.Forms.Label();
this.label1_d = new System.Windows.Forms.Label();
this.pictureBox4_s = new System.Windows.Forms.PictureBox();
this.pictureBox3_s = new System.Windows.Forms.PictureBox();
this.pictureBox2_s = new System.Windows.Forms.PictureBox();
this.label16 = new System.Windows.Forms.Label();
this.pictureBox1_s = new System.Windows.Forms.PictureBox();
this.label15 = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.pictureBox4_b = new System.Windows.Forms.PictureBox();
this.label4 = new System.Windows.Forms.Label();
this.pictureBox4 = new System.Windows.Forms.PictureBox();
this.label5 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.pictureBox3_b = new System.Windows.Forms.PictureBox();
this.pictureBox2_b = new System.Windows.Forms.PictureBox();
this.pictureBox1_b = new System.Windows.Forms.PictureBox();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.pictureBox3 = new System.Windows.Forms.PictureBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.label6 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.pictureBox1_s = new System.Windows.Forms.PictureBox();
this.label16 = new System.Windows.Forms.Label();
this.pictureBox2_s = new System.Windows.Forms.PictureBox();
this.pictureBox3_s = new System.Windows.Forms.PictureBox();
this.pictureBox4_s = new System.Windows.Forms.PictureBox();
this.label1_d = new System.Windows.Forms.Label();
this.label18 = new System.Windows.Forms.Label();
this.label2_d = new System.Windows.Forms.Label();
this.label20 = new System.Windows.Forms.Label();
this.label3_d = new System.Windows.Forms.Label();
this.label22 = new System.Windows.Forms.Label();
this.label4_d = new System.Windows.Forms.Label();
this.label24 = new System.Windows.Forms.Label();
this.label17 = new System.Windows.Forms.Label();
this.dataGridView2 = new System.Windows.Forms.DataGridView();
this.label19 = new System.Windows.Forms.Label();
this.dataGridView3 = new System.Windows.Forms.DataGridView();
this.label21 = new System.Windows.Forms.Label();
this.label1_p = new System.Windows.Forms.Label();
this.label23 = new System.Windows.Forms.Label();
this.label2_p = new System.Windows.Forms.Label();
this.label25 = new System.Windows.Forms.Label();
this.label3_p = new System.Windows.Forms.Label();
this.label27 = new System.Windows.Forms.Label();
this.label4_p = new System.Windows.Forms.Label();
this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1_b)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2_b)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3_b)).BeginInit();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.label26 = new System.Windows.Forms.Label();
this.label28 = new System.Windows.Forms.Label();
this.btnSearch = new System.Windows.Forms.Button();
this.panel2 = new System.Windows.Forms.Panel();
this.tbPath = new System.Windows.Forms.TextBox();
this.btnSelectPath = new System.Windows.Forms.Button();
this.picOriginal = new System.Windows.Forms.PictureBox();
this.lvResult = new System.Windows.Forms.ListView();
this.panel3 = new System.Windows.Forms.Panel();
this.btnSelectPicture = new System.Windows.Forms.Button();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4_s)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3_s)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2_s)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1_s)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4_b)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3_b)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2_b)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1_b)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1_s)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2_s)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3_s)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4_s)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView3)).BeginInit();
this.tabPage2.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.picOriginal)).BeginInit();
this.panel3.SuspendLayout();
this.SuspendLayout();
//
// pictureBox1
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(1237, 902);
this.tabControl1.TabIndex = 0;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.label27);
this.tabPage1.Controls.Add(this.label4_p);
this.tabPage1.Controls.Add(this.label25);
this.tabPage1.Controls.Add(this.label3_p);
this.tabPage1.Controls.Add(this.label23);
this.tabPage1.Controls.Add(this.label2_p);
this.tabPage1.Controls.Add(this.label21);
this.tabPage1.Controls.Add(this.label1_p);
this.tabPage1.Controls.Add(this.label19);
this.tabPage1.Controls.Add(this.dataGridView3);
this.tabPage1.Controls.Add(this.label17);
this.tabPage1.Controls.Add(this.dataGridView2);
this.tabPage1.Controls.Add(this.label24);
this.tabPage1.Controls.Add(this.label4_d);
this.tabPage1.Controls.Add(this.label22);
this.tabPage1.Controls.Add(this.label3_d);
this.tabPage1.Controls.Add(this.label20);
this.tabPage1.Controls.Add(this.label2_d);
this.tabPage1.Controls.Add(this.label18);
this.tabPage1.Controls.Add(this.label1_d);
this.tabPage1.Controls.Add(this.pictureBox4_s);
this.tabPage1.Controls.Add(this.pictureBox3_s);
this.tabPage1.Controls.Add(this.pictureBox2_s);
this.tabPage1.Controls.Add(this.label16);
this.tabPage1.Controls.Add(this.pictureBox1_s);
this.tabPage1.Controls.Add(this.label15);
this.tabPage1.Controls.Add(this.label14);
this.tabPage1.Controls.Add(this.label13);
this.tabPage1.Controls.Add(this.label12);
this.tabPage1.Controls.Add(this.label11);
this.tabPage1.Controls.Add(this.label6);
this.tabPage1.Controls.Add(this.label5);
this.tabPage1.Controls.Add(this.label10);
this.tabPage1.Controls.Add(this.pictureBox4_b);
this.tabPage1.Controls.Add(this.label4);
this.tabPage1.Controls.Add(this.pictureBox4);
this.tabPage1.Controls.Add(this.label9);
this.tabPage1.Controls.Add(this.label8);
this.tabPage1.Controls.Add(this.label7);
this.tabPage1.Controls.Add(this.pictureBox3_b);
this.tabPage1.Controls.Add(this.pictureBox2_b);
this.tabPage1.Controls.Add(this.pictureBox1_b);
this.tabPage1.Controls.Add(this.label3);
this.tabPage1.Controls.Add(this.label2);
this.tabPage1.Controls.Add(this.label1);
this.tabPage1.Controls.Add(this.pictureBox3);
this.tabPage1.Controls.Add(this.pictureBox2);
this.tabPage1.Controls.Add(this.pictureBox1);
this.tabPage1.Controls.Add(this.dataGridView1);
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(1229, 876);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "算法测试";
this.tabPage1.UseVisualStyleBackColor = true;
//
this.pictureBox1.Location = new System.Drawing.Point(96, 29);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(128, 128);
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
// label27
//
// pictureBox2
this.label27.AutoSize = true;
this.label27.Location = new System.Drawing.Point(56, 832);
this.label27.Name = "label27";
this.label27.Size = new System.Drawing.Size(35, 12);
this.label27.TabIndex = 100;
this.label27.Text = "pHash";
//
this.pictureBox2.Location = new System.Drawing.Point(96, 232);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(128, 128);
this.pictureBox2.TabIndex = 1;
this.pictureBox2.TabStop = false;
// label4_p
//
// pictureBox3
this.label4_p.AutoSize = true;
this.label4_p.Location = new System.Drawing.Point(97, 832);
this.label4_p.Name = "label4_p";
this.label4_p.Size = new System.Drawing.Size(53, 12);
this.label4_p.TabIndex = 99;
this.label4_p.Text = "label4_p";
//
this.pictureBox3.Location = new System.Drawing.Point(96, 441);
this.pictureBox3.Name = "pictureBox3";
this.pictureBox3.Size = new System.Drawing.Size(128, 128);
this.pictureBox3.TabIndex = 2;
this.pictureBox3.TabStop = false;
// label25
//
// label1
this.label25.AutoSize = true;
this.label25.Location = new System.Drawing.Point(56, 616);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(35, 12);
this.label25.TabIndex = 98;
this.label25.Text = "pHash";
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(94, 163);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 3;
this.label1.Text = "label1";
// label3_p
//
// label2
this.label3_p.AutoSize = true;
this.label3_p.Location = new System.Drawing.Point(97, 616);
this.label3_p.Name = "label3_p";
this.label3_p.Size = new System.Drawing.Size(53, 12);
this.label3_p.TabIndex = 97;
this.label3_p.Text = "label3_p";
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(94, 365);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 4;
this.label2.Text = "label2";
// label23
//
// label3
this.label23.AutoSize = true;
this.label23.Location = new System.Drawing.Point(56, 406);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(35, 12);
this.label23.TabIndex = 96;
this.label23.Text = "pHash";
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(94, 574);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 5;
this.label3.Text = "label3";
// label2_p
//
// pictureBox1_b
this.label2_p.AutoSize = true;
this.label2_p.Location = new System.Drawing.Point(97, 406);
this.label2_p.Name = "label2_p";
this.label2_p.Size = new System.Drawing.Size(53, 12);
this.label2_p.TabIndex = 95;
this.label2_p.Text = "label2_p";
//
this.pictureBox1_b.Location = new System.Drawing.Point(256, 29);
this.pictureBox1_b.Name = "pictureBox1_b";
this.pictureBox1_b.Size = new System.Drawing.Size(128, 128);
this.pictureBox1_b.TabIndex = 7;
this.pictureBox1_b.TabStop = false;
// label21
//
// pictureBox2_b
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(56, 201);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(35, 12);
this.label21.TabIndex = 94;
this.label21.Text = "pHash";
//
this.pictureBox2_b.Location = new System.Drawing.Point(256, 232);
this.pictureBox2_b.Name = "pictureBox2_b";
this.pictureBox2_b.Size = new System.Drawing.Size(128, 128);
this.pictureBox2_b.TabIndex = 8;
this.pictureBox2_b.TabStop = false;
// label1_p
//
// pictureBox3_b
this.label1_p.AutoSize = true;
this.label1_p.Location = new System.Drawing.Point(97, 201);
this.label1_p.Name = "label1_p";
this.label1_p.Size = new System.Drawing.Size(53, 12);
this.label1_p.TabIndex = 93;
this.label1_p.Text = "label1_p";
//
this.pictureBox3_b.Location = new System.Drawing.Point(256, 441);
this.pictureBox3_b.Name = "pictureBox3_b";
this.pictureBox3_b.Size = new System.Drawing.Size(128, 128);
this.pictureBox3_b.TabIndex = 9;
this.pictureBox3_b.TabStop = false;
// label19
//
// label7
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(794, 514);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(95, 12);
this.label19.TabIndex = 91;
this.label19.Text = "pHash测试结果:";
//
this.label7.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label7.Location = new System.Drawing.Point(26, 79);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(62, 23);
this.label7.TabIndex = 10;
this.label7.Text = "图1:";
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// dataGridView3
//
// label8
this.dataGridView3.AllowUserToAddRows = false;
this.dataGridView3.BackgroundColor = System.Drawing.SystemColors.Window;
this.dataGridView3.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView3.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.dataGridViewTextBoxColumn5,
this.dataGridViewTextBoxColumn6});
this.dataGridView3.Location = new System.Drawing.Point(796, 528);
this.dataGridView3.Name = "dataGridView3";
this.dataGridView3.RowHeadersVisible = false;
this.dataGridView3.RowTemplate.Height = 23;
this.dataGridView3.Size = new System.Drawing.Size(404, 187);
this.dataGridView3.TabIndex = 92;
//
this.label8.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label8.Location = new System.Drawing.Point(26, 282);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(62, 23);
this.label8.TabIndex = 11;
this.label8.Text = "图2:";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// dataGridViewTextBoxColumn5
//
// label9
this.dataGridViewTextBoxColumn5.DataPropertyName = "name";
this.dataGridViewTextBoxColumn5.HeaderText = "名称";
this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
//
this.label9.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label9.Location = new System.Drawing.Point(26, 491);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(62, 23);
this.label9.TabIndex = 12;
this.label9.Text = "图3:";
this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// dataGridViewTextBoxColumn6
//
// label10
this.dataGridViewTextBoxColumn6.DataPropertyName = "similar";
this.dataGridViewTextBoxColumn6.HeaderText = "相似度";
this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6";
//
this.label10.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label10.Location = new System.Drawing.Point(26, 707);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(62, 23);
this.label10.TabIndex = 17;
this.label10.Text = "图4:";
this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// label17
//
// pictureBox4_b
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(794, 264);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(95, 12);
this.label17.TabIndex = 89;
this.label17.Text = "dHash测试结果:";
//
// dataGridView2
//
this.dataGridView2.AllowUserToAddRows = false;
this.dataGridView2.BackgroundColor = System.Drawing.SystemColors.Window;
this.dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.dataGridViewTextBoxColumn1,
this.dataGridViewTextBoxColumn2});
this.dataGridView2.Location = new System.Drawing.Point(796, 278);
this.dataGridView2.Name = "dataGridView2";
this.dataGridView2.RowHeadersVisible = false;
this.dataGridView2.RowTemplate.Height = 23;
this.dataGridView2.Size = new System.Drawing.Size(404, 187);
this.dataGridView2.TabIndex = 90;
//
// dataGridViewTextBoxColumn1
//
this.dataGridViewTextBoxColumn1.DataPropertyName = "name";
this.dataGridViewTextBoxColumn1.HeaderText = "名称";
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
//
// dataGridViewTextBoxColumn2
//
this.pictureBox4_b.Location = new System.Drawing.Point(256, 657);
this.pictureBox4_b.Name = "pictureBox4_b";
this.pictureBox4_b.Size = new System.Drawing.Size(128, 128);
this.pictureBox4_b.TabIndex = 16;
this.pictureBox4_b.TabStop = false;
this.dataGridViewTextBoxColumn2.DataPropertyName = "similar";
this.dataGridViewTextBoxColumn2.HeaderText = "相似度";
this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
//
// label4
// label24
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(94, 790);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(41, 12);
this.label4.TabIndex = 15;
this.label4.Text = "label4";
this.label24.AutoSize = true;
this.label24.Location = new System.Drawing.Point(56, 811);
this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(35, 12);
this.label24.TabIndex = 88;
this.label24.Text = "dHash";
//
// pictureBox4
// label4_d
//
this.pictureBox4.Location = new System.Drawing.Point(96, 657);
this.pictureBox4.Name = "pictureBox4";
this.pictureBox4.Size = new System.Drawing.Size(128, 128);
this.pictureBox4.TabIndex = 13;
this.pictureBox4.TabStop = false;
this.label4_d.AutoSize = true;
this.label4_d.Location = new System.Drawing.Point(97, 811);
this.label4_d.Name = "label4_d";
this.label4_d.Size = new System.Drawing.Size(53, 12);
this.label4_d.TabIndex = 87;
this.label4_d.Text = "label4_d";
//
// label5
// label22
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(791, 16);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(95, 12);
this.label5.TabIndex = 19;
this.label5.Text = "aHash测试结果:";
this.label22.AutoSize = true;
this.label22.Location = new System.Drawing.Point(56, 595);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(35, 12);
this.label22.TabIndex = 86;
this.label22.Text = "dHash";
//
// dataGridView1
// label3_d
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Window;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column2,
this.Column3});
this.dataGridView1.Location = new System.Drawing.Point(793, 30);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(404, 187);
this.dataGridView1.TabIndex = 20;
this.label3_d.AutoSize = true;
this.label3_d.Location = new System.Drawing.Point(97, 595);
this.label3_d.Name = "label3_d";
this.label3_d.Size = new System.Drawing.Size(53, 12);
this.label3_d.TabIndex = 85;
this.label3_d.Text = "label3_d";
//
// label6
// label20
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(53, 163);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(35, 12);
this.label6.TabIndex = 21;
this.label6.Text = "aHash";
this.label20.AutoSize = true;
this.label20.Location = new System.Drawing.Point(56, 385);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(35, 12);
this.label20.TabIndex = 84;
this.label20.Text = "dHash";
//
// label11
// label2_d
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(53, 365);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(35, 12);
this.label11.TabIndex = 22;
this.label11.Text = "aHash";
this.label2_d.AutoSize = true;
this.label2_d.Location = new System.Drawing.Point(97, 385);
this.label2_d.Name = "label2_d";
this.label2_d.Size = new System.Drawing.Size(53, 12);
this.label2_d.TabIndex = 83;
this.label2_d.Text = "label2_d";
//
// label12
// label18
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(53, 574);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(35, 12);
this.label12.TabIndex = 23;
this.label12.Text = "aHash";
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(56, 181);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(35, 12);
this.label18.TabIndex = 82;
this.label18.Text = "dHash";
//
// label13
// label1_d
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(53, 790);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(35, 12);
this.label13.TabIndex = 24;
this.label13.Text = "aHash";
this.label1_d.AutoSize = true;
this.label1_d.Location = new System.Drawing.Point(97, 181);
this.label1_d.Name = "label1_d";
this.label1_d.Size = new System.Drawing.Size(53, 12);
this.label1_d.TabIndex = 81;
this.label1_d.Text = "label1_d";
//
// label14
// pictureBox4_s
//
this.label14.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label14.Location = new System.Drawing.Point(126, 4);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(62, 23);
this.label14.TabIndex = 25;
this.label14.Text = "原图";
this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.pictureBox4_s.Location = new System.Drawing.Point(417, 655);
this.pictureBox4_s.Name = "pictureBox4_s";
this.pictureBox4_s.Size = new System.Drawing.Size(128, 128);
this.pictureBox4_s.TabIndex = 80;
this.pictureBox4_s.TabStop = false;
//
// label15
// pictureBox3_s
//
this.label15.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label15.Location = new System.Drawing.Point(277, 5);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(85, 23);
this.label15.TabIndex = 26;
this.label15.Text = "采样8*8";
this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.pictureBox3_s.Location = new System.Drawing.Point(417, 439);
this.pictureBox3_s.Name = "pictureBox3_s";
this.pictureBox3_s.Size = new System.Drawing.Size(128, 128);
this.pictureBox3_s.TabIndex = 79;
this.pictureBox3_s.TabStop = false;
//
// pictureBox1_s
// pictureBox2_s
//
this.pictureBox1_s.Location = new System.Drawing.Point(414, 30);
this.pictureBox1_s.Name = "pictureBox1_s";
this.pictureBox1_s.Size = new System.Drawing.Size(128, 128);
this.pictureBox1_s.TabIndex = 27;
this.pictureBox1_s.TabStop = false;
this.pictureBox2_s.Location = new System.Drawing.Point(417, 230);
this.pictureBox2_s.Name = "pictureBox2_s";
this.pictureBox2_s.Size = new System.Drawing.Size(128, 128);
this.pictureBox2_s.TabIndex = 78;
this.pictureBox2_s.TabStop = false;
//
// label16
//
this.label16.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label16.Location = new System.Drawing.Point(429, 4);
this.label16.Location = new System.Drawing.Point(432, 2);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(91, 23);
this.label16.TabIndex = 28;
this.label16.TabIndex = 77;
this.label16.Text = "灰度降噪";
this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pictureBox2_s
// pictureBox1_s
//
this.pictureBox2_s.Location = new System.Drawing.Point(414, 232);
this.pictureBox2_s.Name = "pictureBox2_s";
this.pictureBox2_s.Size = new System.Drawing.Size(128, 128);
this.pictureBox2_s.TabIndex = 29;
this.pictureBox2_s.TabStop = false;
this.pictureBox1_s.Location = new System.Drawing.Point(417, 28);
this.pictureBox1_s.Name = "pictureBox1_s";
this.pictureBox1_s.Size = new System.Drawing.Size(128, 128);
this.pictureBox1_s.TabIndex = 76;
this.pictureBox1_s.TabStop = false;
//
// pictureBox3_s
// label15
//
this.pictureBox3_s.Location = new System.Drawing.Point(414, 441);
this.pictureBox3_s.Name = "pictureBox3_s";
this.pictureBox3_s.Size = new System.Drawing.Size(128, 128);
this.pictureBox3_s.TabIndex = 30;
this.pictureBox3_s.TabStop = false;
this.label15.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label15.Location = new System.Drawing.Point(280, 3);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(85, 23);
this.label15.TabIndex = 75;
this.label15.Text = "采样8*8";
this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pictureBox4_s
// label14
//
this.pictureBox4_s.Location = new System.Drawing.Point(414, 657);
this.pictureBox4_s.Name = "pictureBox4_s";
this.pictureBox4_s.Size = new System.Drawing.Size(128, 128);
this.pictureBox4_s.TabIndex = 31;
this.pictureBox4_s.TabStop = false;
this.label14.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label14.Location = new System.Drawing.Point(129, 2);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(62, 23);
this.label14.TabIndex = 74;
this.label14.Text = "原图";
this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label1_d
// label13
//
this.label1_d.AutoSize = true;
this.label1_d.Location = new System.Drawing.Point(94, 183);
this.label1_d.Name = "label1_d";
this.label1_d.Size = new System.Drawing.Size(53, 12);
this.label1_d.TabIndex = 32;
this.label1_d.Text = "label1_d";
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(56, 788);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(35, 12);
this.label13.TabIndex = 73;
this.label13.Text = "aHash";
//
// label18
// label12
//
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(53, 183);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(35, 12);
this.label18.TabIndex = 33;
this.label18.Text = "dHash";
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(56, 572);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(35, 12);
this.label12.TabIndex = 72;
this.label12.Text = "aHash";
//
// label2_d
// label11
//
this.label2_d.AutoSize = true;
this.label2_d.Location = new System.Drawing.Point(94, 387);
this.label2_d.Name = "label2_d";
this.label2_d.Size = new System.Drawing.Size(53, 12);
this.label2_d.TabIndex = 34;
this.label2_d.Text = "label2_d";
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(56, 363);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(35, 12);
this.label11.TabIndex = 71;
this.label11.Text = "aHash";
//
// label20
// label6
//
this.label20.AutoSize = true;
this.label20.Location = new System.Drawing.Point(53, 387);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(35, 12);
this.label20.TabIndex = 35;
this.label20.Text = "dHash";
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(56, 161);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(35, 12);
this.label6.TabIndex = 70;
this.label6.Text = "aHash";
//
// label3_d
// label5
//
this.label3_d.AutoSize = true;
this.label3_d.Location = new System.Drawing.Point(94, 597);
this.label3_d.Name = "label3_d";
this.label3_d.Size = new System.Drawing.Size(53, 12);
this.label3_d.TabIndex = 36;
this.label3_d.Text = "label3_d";
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(794, 14);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(95, 12);
this.label5.TabIndex = 68;
this.label5.Text = "aHash测试结果:";
//
// label22
// label10
//
this.label22.AutoSize = true;
this.label22.Location = new System.Drawing.Point(53, 597);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(35, 12);
this.label22.TabIndex = 37;
this.label22.Text = "dHash";
this.label10.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label10.Location = new System.Drawing.Point(29, 705);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(62, 23);
this.label10.TabIndex = 67;
this.label10.Text = "图4:";
this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4_d
// pictureBox4_b
//
this.label4_d.AutoSize = true;
this.label4_d.Location = new System.Drawing.Point(94, 813);
this.label4_d.Name = "label4_d";
this.label4_d.Size = new System.Drawing.Size(53, 12);
this.label4_d.TabIndex = 38;
this.label4_d.Text = "label4_d";
this.pictureBox4_b.Location = new System.Drawing.Point(259, 655);
this.pictureBox4_b.Name = "pictureBox4_b";
this.pictureBox4_b.Size = new System.Drawing.Size(128, 128);
this.pictureBox4_b.TabIndex = 66;
this.pictureBox4_b.TabStop = false;
//
// label24
// label4
//
this.label24.AutoSize = true;
this.label24.Location = new System.Drawing.Point(53, 813);
this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(35, 12);
this.label24.TabIndex = 39;
this.label24.Text = "dHash";
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(97, 788);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(41, 12);
this.label4.TabIndex = 65;
this.label4.Text = "label4";
//
// label17
// pictureBox4
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(791, 266);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(95, 12);
this.label17.TabIndex = 40;
this.label17.Text = "dHash测试结果:";
this.pictureBox4.Location = new System.Drawing.Point(99, 655);
this.pictureBox4.Name = "pictureBox4";
this.pictureBox4.Size = new System.Drawing.Size(128, 128);
this.pictureBox4.TabIndex = 64;
this.pictureBox4.TabStop = false;
//
// dataGridView2
// label9
//
this.dataGridView2.AllowUserToAddRows = false;
this.dataGridView2.BackgroundColor = System.Drawing.SystemColors.Window;
this.dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.dataGridViewTextBoxColumn1,
this.dataGridViewTextBoxColumn2});
this.dataGridView2.Location = new System.Drawing.Point(793, 280);
this.dataGridView2.Name = "dataGridView2";
this.dataGridView2.RowHeadersVisible = false;
this.dataGridView2.RowTemplate.Height = 23;
this.dataGridView2.Size = new System.Drawing.Size(404, 187);
this.dataGridView2.TabIndex = 41;
this.label9.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label9.Location = new System.Drawing.Point(29, 489);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(62, 23);
this.label9.TabIndex = 63;
this.label9.Text = "图3:";
this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label19
// label8
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(791, 516);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(95, 12);
this.label19.TabIndex = 42;
this.label19.Text = "pHash测试结果:";
this.label8.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label8.Location = new System.Drawing.Point(29, 280);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(62, 23);
this.label8.TabIndex = 62;
this.label8.Text = "图2:";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// dataGridView3
// label7
//
this.dataGridView3.AllowUserToAddRows = false;
this.dataGridView3.BackgroundColor = System.Drawing.SystemColors.Window;
this.dataGridView3.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView3.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.dataGridViewTextBoxColumn5,
this.dataGridViewTextBoxColumn6});
this.dataGridView3.Location = new System.Drawing.Point(793, 530);
this.dataGridView3.Name = "dataGridView3";
this.dataGridView3.RowHeadersVisible = false;
this.dataGridView3.RowTemplate.Height = 23;
this.dataGridView3.Size = new System.Drawing.Size(404, 187);
this.dataGridView3.TabIndex = 43;
this.label7.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label7.Location = new System.Drawing.Point(29, 77);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(62, 23);
this.label7.TabIndex = 61;
this.label7.Text = "图1:";
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label21
// pictureBox3_b
//
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(53, 203);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(35, 12);
this.label21.TabIndex = 45;
this.label21.Text = "pHash";
this.pictureBox3_b.Location = new System.Drawing.Point(259, 439);
this.pictureBox3_b.Name = "pictureBox3_b";
this.pictureBox3_b.Size = new System.Drawing.Size(128, 128);
this.pictureBox3_b.TabIndex = 60;
this.pictureBox3_b.TabStop = false;
//
// label1_p
// pictureBox2_b
//
this.label1_p.AutoSize = true;
this.label1_p.Location = new System.Drawing.Point(94, 203);
this.label1_p.Name = "label1_p";
this.label1_p.Size = new System.Drawing.Size(53, 12);
this.label1_p.TabIndex = 44;
this.label1_p.Text = "label1_p";
this.pictureBox2_b.Location = new System.Drawing.Point(259, 230);
this.pictureBox2_b.Name = "pictureBox2_b";
this.pictureBox2_b.Size = new System.Drawing.Size(128, 128);
this.pictureBox2_b.TabIndex = 59;
this.pictureBox2_b.TabStop = false;
//
// label23
// pictureBox1_b
//
this.label23.AutoSize = true;
this.label23.Location = new System.Drawing.Point(53, 408);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(35, 12);
this.label23.TabIndex = 47;
this.label23.Text = "pHash";
this.pictureBox1_b.Location = new System.Drawing.Point(259, 27);
this.pictureBox1_b.Name = "pictureBox1_b";
this.pictureBox1_b.Size = new System.Drawing.Size(128, 128);
this.pictureBox1_b.TabIndex = 58;
this.pictureBox1_b.TabStop = false;
//
// label2_p
// label3
//
this.label2_p.AutoSize = true;
this.label2_p.Location = new System.Drawing.Point(94, 408);
this.label2_p.Name = "label2_p";
this.label2_p.Size = new System.Drawing.Size(53, 12);
this.label2_p.TabIndex = 46;
this.label2_p.Text = "label2_p";
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(97, 572);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 57;
this.label3.Text = "label3";
//
// label25
// label2
//
this.label25.AutoSize = true;
this.label25.Location = new System.Drawing.Point(53, 618);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(35, 12);
this.label25.TabIndex = 49;
this.label25.Text = "pHash";
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(97, 363);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 56;
this.label2.Text = "label2";
//
// label3_p
// label1
//
this.label3_p.AutoSize = true;
this.label3_p.Location = new System.Drawing.Point(94, 618);
this.label3_p.Name = "label3_p";
this.label3_p.Size = new System.Drawing.Size(53, 12);
this.label3_p.TabIndex = 48;
this.label3_p.Text = "label3_p";
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(97, 161);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 55;
this.label1.Text = "label1";
//
// label27
// pictureBox3
//
this.label27.AutoSize = true;
this.label27.Location = new System.Drawing.Point(53, 834);
this.label27.Name = "label27";
this.label27.Size = new System.Drawing.Size(35, 12);
this.label27.TabIndex = 51;
this.label27.Text = "pHash";
this.pictureBox3.Location = new System.Drawing.Point(99, 439);
this.pictureBox3.Name = "pictureBox3";
this.pictureBox3.Size = new System.Drawing.Size(128, 128);
this.pictureBox3.TabIndex = 54;
this.pictureBox3.TabStop = false;
//
// label4_p
// pictureBox2
//
this.label4_p.AutoSize = true;
this.label4_p.Location = new System.Drawing.Point(94, 834);
this.label4_p.Name = "label4_p";
this.label4_p.Size = new System.Drawing.Size(53, 12);
this.label4_p.TabIndex = 50;
this.label4_p.Text = "label4_p";
this.pictureBox2.Location = new System.Drawing.Point(99, 230);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(128, 128);
this.pictureBox2.TabIndex = 53;
this.pictureBox2.TabStop = false;
//
// dataGridViewTextBoxColumn1
// pictureBox1
//
this.dataGridViewTextBoxColumn1.DataPropertyName = "name";
this.dataGridViewTextBoxColumn1.HeaderText = "名称";
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
this.pictureBox1.Location = new System.Drawing.Point(99, 27);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(128, 128);
this.pictureBox1.TabIndex = 52;
this.pictureBox1.TabStop = false;
//
// dataGridViewTextBoxColumn2
// dataGridView1
//
this.dataGridViewTextBoxColumn2.DataPropertyName = "similar";
this.dataGridViewTextBoxColumn2.HeaderText = "相似度";
this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Window;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column2,
this.Column3});
this.dataGridView1.Location = new System.Drawing.Point(796, 28);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(404, 187);
this.dataGridView1.TabIndex = 69;
//
// Column2
//
......@@ -578,152 +683,260 @@
this.Column3.HeaderText = "相似度";
this.Column3.Name = "Column3";
//
// dataGridViewTextBoxColumn5
//
this.dataGridViewTextBoxColumn5.DataPropertyName = "name";
this.dataGridViewTextBoxColumn5.HeaderText = "名称";
this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
//
// dataGridViewTextBoxColumn6
//
this.dataGridViewTextBoxColumn6.DataPropertyName = "similar";
this.dataGridViewTextBoxColumn6.HeaderText = "相似度";
this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6";
//
// Form2
// tabPage2
//
this.tabPage2.Controls.Add(this.tableLayoutPanel1);
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(1229, 876);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "应用测试";
this.tabPage2.UseVisualStyleBackColor = true;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 4;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 106F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Controls.Add(this.label26, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.label28, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.btnSearch, 2, 2);
this.tableLayoutPanel1.Controls.Add(this.panel2, 1, 1);
this.tableLayoutPanel1.Controls.Add(this.picOriginal, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.lvResult, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.panel3, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 3);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 4;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(1223, 870);
this.tableLayoutPanel1.TabIndex = 9;
//
// label26
//
this.label26.Dock = System.Windows.Forms.DockStyle.Fill;
this.label26.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label26.Location = new System.Drawing.Point(3, 0);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(100, 50);
this.label26.TabIndex = 5;
this.label26.Text = "源图片";
this.label26.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label28
//
this.label28.Dock = System.Windows.Forms.DockStyle.Fill;
this.label28.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label28.Location = new System.Drawing.Point(109, 0);
this.label28.Name = "label28";
this.label28.Size = new System.Drawing.Size(991, 50);
this.label28.TabIndex = 6;
this.label28.Text = "相似结果";
this.label28.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// btnSearch
//
this.btnSearch.Location = new System.Drawing.Point(1106, 88);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(94, 44);
this.btnSearch.TabIndex = 7;
this.btnSearch.Text = "查找";
this.btnSearch.UseVisualStyleBackColor = true;
//
// panel2
//
this.panel2.Controls.Add(this.tbPath);
this.panel2.Controls.Add(this.btnSelectPath);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(109, 53);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(991, 29);
this.panel2.TabIndex = 8;
//
// tbPath
//
this.tbPath.Location = new System.Drawing.Point(3, 5);
this.tbPath.Name = "tbPath";
this.tbPath.Size = new System.Drawing.Size(247, 21);
this.tbPath.TabIndex = 3;
//
// btnSelectPath
//
this.btnSelectPath.Location = new System.Drawing.Point(256, 3);
this.btnSelectPath.Name = "btnSelectPath";
this.btnSelectPath.Size = new System.Drawing.Size(80, 23);
this.btnSelectPath.TabIndex = 4;
this.btnSelectPath.Text = "选择文件夹";
this.btnSelectPath.UseVisualStyleBackColor = true;
//
// picOriginal
//
this.picOriginal.Location = new System.Drawing.Point(3, 88);
this.picOriginal.Name = "picOriginal";
this.picOriginal.Size = new System.Drawing.Size(100, 100);
this.picOriginal.TabIndex = 0;
this.picOriginal.TabStop = false;
//
// lvResult
//
this.lvResult.Dock = System.Windows.Forms.DockStyle.Fill;
this.lvResult.HideSelection = false;
this.lvResult.Location = new System.Drawing.Point(109, 88);
this.lvResult.Name = "lvResult";
this.lvResult.Size = new System.Drawing.Size(991, 759);
this.lvResult.TabIndex = 2;
this.lvResult.UseCompatibleStateImageBehavior = false;
//
// panel3
//
this.panel3.Controls.Add(this.btnSelectPicture);
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(3, 53);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(100, 29);
this.panel3.TabIndex = 9;
//
// btnSelectPicture
//
this.btnSelectPicture.Location = new System.Drawing.Point(3, 3);
this.btnSelectPicture.Name = "btnSelectPicture";
this.btnSelectPicture.Size = new System.Drawing.Size(94, 23);
this.btnSelectPicture.TabIndex = 1;
this.btnSelectPicture.Text = "选择图片";
this.btnSelectPicture.UseVisualStyleBackColor = true;
//
// imageList1
//
this.imageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
this.imageList1.ImageSize = new System.Drawing.Size(100, 100);
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
//
// wImageSearch
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1237, 873);
this.Controls.Add(this.label27);
this.Controls.Add(this.label4_p);
this.Controls.Add(this.label25);
this.Controls.Add(this.label3_p);
this.Controls.Add(this.label23);
this.Controls.Add(this.label2_p);
this.Controls.Add(this.label21);
this.Controls.Add(this.label1_p);
this.Controls.Add(this.label19);
this.Controls.Add(this.dataGridView3);
this.Controls.Add(this.label17);
this.Controls.Add(this.dataGridView2);
this.Controls.Add(this.label24);
this.Controls.Add(this.label4_d);
this.Controls.Add(this.label22);
this.Controls.Add(this.label3_d);
this.Controls.Add(this.label20);
this.Controls.Add(this.label2_d);
this.Controls.Add(this.label18);
this.Controls.Add(this.label1_d);
this.Controls.Add(this.pictureBox4_s);
this.Controls.Add(this.pictureBox3_s);
this.Controls.Add(this.pictureBox2_s);
this.Controls.Add(this.label16);
this.Controls.Add(this.pictureBox1_s);
this.Controls.Add(this.label15);
this.Controls.Add(this.label14);
this.Controls.Add(this.label13);
this.Controls.Add(this.label12);
this.Controls.Add(this.label11);
this.Controls.Add(this.label6);
this.Controls.Add(this.label5);
this.Controls.Add(this.label10);
this.Controls.Add(this.pictureBox4_b);
this.Controls.Add(this.label4);
this.Controls.Add(this.pictureBox4);
this.Controls.Add(this.label9);
this.Controls.Add(this.label8);
this.Controls.Add(this.label7);
this.Controls.Add(this.pictureBox3_b);
this.Controls.Add(this.pictureBox2_b);
this.Controls.Add(this.pictureBox1_b);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.pictureBox3);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.dataGridView1);
this.Name = "Form2";
this.ClientSize = new System.Drawing.Size(1237, 902);
this.Controls.Add(this.tabControl1);
this.Name = "wImageSearch";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Form2";
this.Load += new System.EventHandler(this.Form2_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1_b)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2_b)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3_b)).EndInit();
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4_s)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3_s)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2_s)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1_s)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4_b)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3_b)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2_b)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1_b)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1_s)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2_s)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3_s)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4_s)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView3)).EndInit();
this.tabPage2.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.picOriginal)).EndInit();
this.panel3.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.PictureBox pictureBox3;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.PictureBox pictureBox1_b;
private System.Windows.Forms.PictureBox pictureBox2_b;
private System.Windows.Forms.PictureBox pictureBox3_b;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.Label label27;
private System.Windows.Forms.Label label4_p;
private System.Windows.Forms.Label label25;
private System.Windows.Forms.Label label3_p;
private System.Windows.Forms.Label label23;
private System.Windows.Forms.Label label2_p;
private System.Windows.Forms.Label label21;
private System.Windows.Forms.Label label1_p;
private System.Windows.Forms.Label label19;
private System.Windows.Forms.DataGridView dataGridView3;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.DataGridView dataGridView2;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
private System.Windows.Forms.Label label24;
private System.Windows.Forms.Label label4_d;
private System.Windows.Forms.Label label22;
private System.Windows.Forms.Label label3_d;
private System.Windows.Forms.Label label20;
private System.Windows.Forms.Label label2_d;
private System.Windows.Forms.Label label18;
private System.Windows.Forms.Label label1_d;
private System.Windows.Forms.PictureBox pictureBox4_s;
private System.Windows.Forms.PictureBox pictureBox3_s;
private System.Windows.Forms.PictureBox pictureBox2_s;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.PictureBox pictureBox1_s;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.PictureBox pictureBox4_b;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.PictureBox pictureBox4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.PictureBox pictureBox3_b;
private System.Windows.Forms.PictureBox pictureBox2_b;
private System.Windows.Forms.PictureBox pictureBox1_b;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.PictureBox pictureBox3;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.PictureBox pictureBox1_s;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.PictureBox pictureBox2_s;
private System.Windows.Forms.PictureBox pictureBox3_s;
private System.Windows.Forms.PictureBox pictureBox4_s;
private System.Windows.Forms.Label label1_d;
private System.Windows.Forms.Label label18;
private System.Windows.Forms.Label label2_d;
private System.Windows.Forms.Label label20;
private System.Windows.Forms.Label label3_d;
private System.Windows.Forms.Label label22;
private System.Windows.Forms.Label label4_d;
private System.Windows.Forms.Label label24;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.DataGridView dataGridView2;
private System.Windows.Forms.Label label19;
private System.Windows.Forms.DataGridView dataGridView3;
private System.Windows.Forms.Label label21;
private System.Windows.Forms.Label label1_p;
private System.Windows.Forms.Label label23;
private System.Windows.Forms.Label label2_p;
private System.Windows.Forms.Label label25;
private System.Windows.Forms.Label label3_p;
private System.Windows.Forms.Label label27;
private System.Windows.Forms.Label label4_p;
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Label label26;
private System.Windows.Forms.Label label28;
private System.Windows.Forms.Button btnSearch;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.TextBox tbPath;
private System.Windows.Forms.Button btnSelectPath;
private System.Windows.Forms.PictureBox picOriginal;
private System.Windows.Forms.ListView lvResult;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Button btnSelectPicture;
private System.Windows.Forms.ImageList imageList1;
}
}
\ No newline at end of file
......@@ -22,10 +22,21 @@ namespace Tools.UI
}
private void Form2_Load(object sender, EventArgs e)
{
//this.InitUI(); //算法测试
this.InitUI2(); //应用测试
}
#region 算法测试
/// <summary>
/// 初始化界面-算法测试
/// </summary>
private void InitUI()
{
//初始化图片框
List<PictureBox> boxs = new List<PictureBox> {
this.pictureBox1, this.pictureBox2, this.pictureBox3, this.pictureBox4,
List<PictureBox> boxs = new List<PictureBox> {
this.pictureBox1, this.pictureBox2, this.pictureBox3, this.pictureBox4,
this.pictureBox1_b, this.pictureBox2_b, this.pictureBox3_b, this.pictureBox4_b,
this.pictureBox1_s, this.pictureBox2_s, this.pictureBox3_s, this.pictureBox4_s,
};
......@@ -43,14 +54,13 @@ namespace Tools.UI
this.GenResultView(labels_d, this.dataGridView2);
this.GenResultView(labels_p, this.dataGridView3);
}
/// <summary>
/// 初始化图片框
/// </summary>
/// <param name="pboxs">图片框数据组</param>
private void InitPictureBox(params PictureBox[] pboxs)
{
Array.ForEach(pboxs,
Array.ForEach(pboxs,
box => {
box.SizeMode = PictureBoxSizeMode.Zoom;
});
......@@ -69,7 +79,7 @@ namespace Tools.UI
Image img = Image.FromFile(path);
pbox.Image = img;
//采样图片显示
Image thumbnail = MyUtil.ResizeImage(img, 8, 8);
Image thumbnail = ImageSearchUtil.ResizeImage(img, 8, 8);
pbox_b.Image = thumbnail;
pbox_s.Image = thumbnail.GrayImage2Bitmap();
//获取图片指纹
......@@ -97,7 +107,7 @@ namespace Tools.UI
{
for (int j = i + 1; j < labels.Count; j++)
{
var similar = MyUtil.SimilarDegree(labels[i].Text, labels[j].Text).ToString("0.##"); //相似度
var similar = ImageSearchUtil.SimilarDegree(labels[i].Text, labels[j].Text).ToString("0.##"); //相似度
DataRow drNew = dt.NewRow();
drNew["name"] = $"图{i + 1}与图{j + 1}";
drNew["similar"] = similar;
......@@ -109,10 +119,209 @@ namespace Tools.UI
dt.DefaultView.Sort = "similar desc";
dgv.DataSource = dt.DefaultView;
}
#endregion
#region 应用测试
//采样尺寸
int size = 16;
//源图片hash
string original_ahash = "";
string original_dhash = "";
string original_phash = "";
//图片库路径
string imgPath = $@"F:\图片查询\ImageSearch-master\images";
//预处理缓存
DataTable dtHash = null;
/// <summary>
/// 初始化界面-应用测试
/// </summary>
private void InitUI2()
{
//控件初始化
this.picOriginal.SizeMode = PictureBoxSizeMode.Zoom;
this.imageList1.ImageSize = new Size(100, 100);
this.lvResult.LargeImageList = this.imageList1;
this.lvResult.View = View.LargeIcon;
//默认值
this.tbPath.Text = imgPath;
this.SetImage($@"{imgPath}\28b80b371ef525ab5aadf6a4cc765e36");
//添加事件
this.btnSelectPicture.Click += BtnSelectPicture_Click;
this.btnSelectPath.Click += BtnSelectPath_Click;
this.btnSearch.Click += BtnSearch_Click;
}
/// <summary>
/// 事件:选择图片
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnSelectPicture_Click(object sender, EventArgs e)
{
var dlg = new OpenFileDialog()
{
Multiselect = false,
Filter = "图片|*.jpg;*.jpeg;*.png;*.gif;*.bmp;",
InitialDirectory = Utils.DesktopPath,
};
if (dlg.ShowDialog() == DialogResult.OK)
{
this.SetImage(dlg.FileName);
}
}
/// <summary>
/// 事件:选择图片库路径
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnSelectPath_Click(object sender, EventArgs e)
{
var dlg = new FolderBrowserDialog()
{
Description = "请选择图片源目录",
ShowNewFolderButton = false,
RootFolder = Environment.SpecialFolder.Desktop,
};
if (dlg.ShowDialog() == DialogResult.OK)
{
this.tbPath.Text = dlg.SelectedPath;
this.dtHash = null; //清空预处理
}
}
/// <summary>
/// 事件:
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnSearch_Click(object sender, EventArgs e)
{
//先清空
this.lvResult.Items.Clear();
this.imageList1.Images.Clear();
Task.Run(() => {
//图片库预处理
if (dtHash == null)
this.Pretreatment();
//去重
var existList = new List<string>();
//查找
var rate = 0.9;
var rows = dtHash.Select($"rate_aHash > {rate} OR rate_dHash > {rate} OR rate_pHash > {rate}").ToList();
rows.ForEach(dr => {
var fileName = dr["fileName"].ToString();
var imgkey = new FileInfo(fileName).Name;
var picName = $"{dr["rate_aHash"]}_{dr["rate_dHash"]}_{dr["rate_pHash"]}";
if (!existList.Contains(picName))
{
this.AsyncUI(() => {
this.imageList1.Images.Add(imgkey, Image.FromFile(fileName));
this.lvResult.Items.Add(picName, imgkey);
});
existList.Add(picName);
}
});
});
}
/// <summary>
/// 图片预处理
/// </summary>
private void Pretreatment()
{
//缓存表够造表
dtHash = new DataTable()
{
Columns = {
{ "fileName", typeof(string) },
{ "aHash", typeof(string) },
{ "dHash", typeof(string) },
{ "pHash", typeof(string) },
{ "original_aHash", typeof(string) },
{ "original_dHash", typeof(string) },
{ "original_pHash", typeof(string) },
{ "rate_aHash", typeof(decimal) },
{ "rate_dHash", typeof(decimal) },
{ "rate_pHash", typeof(decimal) },
},
};
//文件列表
var fileNames = Directory.GetFiles(imgPath).ToList();
//生成Hash
foreach (string fname in fileNames)
{
var img = this.GetImage(fname);
if (img == null)
{
File.Delete(fname);
continue;
}
var drNew = dtHash.NewRow();
drNew["fileName"] = fname;
var aHash = ImageSearch.aHash(img, size);
var dHash = ImageSearch.dHash(img, size);
var pHash = ImageSearch.pHash(img, size);
drNew["aHash"] = aHash;
drNew["dHash"] = dHash;
drNew["pHash"] = pHash;
drNew["original_aHash"] = this.original_ahash;
drNew["original_dHash"] = this.original_dhash;
drNew["original_pHash"] = this.original_phash;
drNew["rate_aHash"] = ImageSearchUtil.SimilarDegree(this.original_ahash, aHash).ToString("0.##");
drNew["rate_dHash"] = ImageSearchUtil.SimilarDegree(this.original_dhash, dHash).ToString("0.##");
drNew["rate_pHash"] = ImageSearchUtil.SimilarDegree(this.original_phash, pHash).ToString("0.##");
drNew.EndEdit();
dtHash.Rows.Add(drNew);
//释放临时变量
img.Dispose();
}
}
/// <summary>
/// 设置图片框图片
/// </summary>
/// <param name="fileName"></param>
private void SetImage(string fileName)
{
if (!File.Exists(fileName))
throw new ArgumentException();
var img = this.GetImage(fileName);
if (img == null)
return;
this.picOriginal.Image = img;
this.original_ahash = ImageSearch.aHash(img, size);
this.original_dhash = ImageSearch.dHash(img, size);
this.original_phash = ImageSearch.pHash(img, size);
}
/// <summary>
/// 获取图片对象
/// </summary>
/// <param name="fileName"></param>
private Image GetImage(string fileName)
{
Image img = null;
try
{
img = Image.FromFile(fileName);
}
catch (Exception ex)
{
//Utils.TipException(ex);
}
return img;
}
#endregion
}
public static class MyUtil
/// <summary>
///
/// </summary>
public static class ImageSearchUtil
{
/// <summary>
/// 图片尺寸调整:一般缩小为8*8
......@@ -219,6 +428,7 @@ namespace Tools.UI
//计算相似比例
return count / a.Length;
}
}
......
......@@ -117,10 +117,16 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="dataGridViewTextBoxColumn5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="dataGridViewTextBoxColumn6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
......@@ -129,10 +135,25 @@
<metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment