Пример #1
0
        private void AddImageToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex < 0)
            {
                return;
            }
            if (openImageFileDialog1.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            FaceDatabaseFile.FormatData(FaceData, NameMapping);

            foreach (var fileName in openImageFileDialog1.FileNames)
            {
                var image = new Bitmap(fileName);
                if (image.Size.Height != 128 || image.Size.Width != 128)
                {
                    image = new Bitmap(image, 128, 128);
                }
                var faceData = new RecognitionFaceData(null)
                {
                    Image      = image,
                    PrimaryKey = FaceData.Count,
                    ForeignKey = 100 + FaceData.Count
                };
                FaceData.Add(faceData);
                NameMapping[listBox1.SelectedIndex].DataIds.Add(faceData.ForeignKey);
            }
            FaceDatabaseFile.FormatData(FaceData, NameMapping);
            listBox1_SelectedIndexChanged(null, null);
        }
Пример #2
0
        private void DeleteImageMenuItem_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex < 0)
            {
                return;
            }
            var dialogResult = MessageBox.Show(
                "您確定從臉部辨識資料庫中移除選擇的圖片嗎?\r\n" +
                "執行此動作後圖像ID將會自動重新修正",
                "刪除圖片",
                MessageBoxButtons.YesNo,
                MessageBoxIcon.Question);

            if (dialogResult != DialogResult.Yes)
            {
                return;
            }

            var item = (ListViewItem)listView1.SelectedItems[0];

            FaceData.Remove(
                FaceData
                .Where(x => x.ForeignKey == int.Parse(item.Text))
                .FirstOrDefault());

            FaceDatabaseFile.FormatData(FaceData, NameMapping);
            listBox1_SelectedIndexChanged(null, null);
        }
Пример #3
0
 private void 儲存SToolStripMenuItem_Click(object sender, EventArgs e)
 {
     FaceDatabaseFile.Save(
         openFileDialog1.FileName,
         FaceData,
         NameMapping
         );
 }
Пример #4
0
 private void SaveOtherStripMenuItem1_Click(object sender, EventArgs e)
 {
     if (saveFileDialog1.ShowDialog() != DialogResult.OK)
     {
         return;
     }
     FaceDatabaseFile.Save(saveFileDialog1.FileName, FaceData, NameMapping);
 }
Пример #5
0
 private void 開啟OToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (openFileDialog1.ShowDialog() != DialogResult.OK)
     {
         return;
     }
     listBox1.Items.Clear();
     listView1.Items.Clear();
     FaceDatabaseFile.Load(
         openFileDialog1.FileName,
         ref FaceData, ref NameMapping);
     LoadDatabaseUser();
     EnableSave();
 }
Пример #6
0
        private void DeleteUserToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex < 0)
            {
                return;
            }
            var dialogResult = MessageBox.Show(
                "您確定從臉部辨識資料庫中移除選擇的使用者所有資料嗎?\r\n" +
                "執行此動作後圖像ID將會自動重新修正",
                "刪除使用者",
                MessageBoxButtons.YesNo,
                MessageBoxIcon.Question);

            if (dialogResult != DialogResult.Yes)
            {
                return;
            }
            FaceData = FaceData.Where(x => !NameMapping[listBox1.SelectedIndex].DataIds.Contains(x.ForeignKey)).ToList();
            NameMapping.RemoveAt(listBox1.SelectedIndex);
            FaceDatabaseFile.FormatData(FaceData, NameMapping);
            LoadDatabaseUser();
            listView1.Items.Clear();
        }