private void choosePic_Click(object sender, EventArgs e) { if (this.openFileDialog1.ShowDialog(this) == DialogResult.Cancel) { return; } var img = Damany.Util.Extensions.MiscHelper.FromFileBuffered(this.openFileDialog1.FileName); this.ipl = OpenCvSharp.IplImage.FromBitmap((Bitmap)img); var fs = new FaceProcessingWrapper.FaceSpecification(); var suc = _faceComparer.CalcFeature(this.ipl, fs); if (!suc) { MessageBox.Show("人像不满足比对要求,请重新选择人像。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } this.targetPic.Image = img; this.targetPic.Invalidate(); this.compareButton.Enabled = true; }
private void addNewTarget_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (openFileDialog1.ShowDialog(this) == DialogResult.OK) { _waitForm.Show(); _waitForm.Caption = "正在计算特征值..."; var img = OpenCvSharp.IplImage.FromFile(openFileDialog1.FileName); var fs = new FaceProcessingWrapper.FaceSpecification(); var suc = _faceComparer.CalcFeature(img, fs); _waitForm.Hide(); if (!suc) { _messageBoxService.ShowError("人像不满足比对要求,请重新选择人像。"); return; } var target = new TargetPerson(_uow); target.EyeBrowShape = fs.EyebrowShape; target.EyebrowRatio = fs.EyebrowRatio; target.FeaturePoints = fs.Features; var path = System.IO.Path.Combine(Properties.Settings.Default.OutputPath, @"TargetFeature\" + Guid.NewGuid() + ".txt"); var dir = Path.GetDirectoryName(path); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } target.FeatureFilePath = path; var imgPath = path.Replace(".txt", ".jpg"); img.SaveImage(imgPath); target.ImagePath = imgPath; var item = AddGalleryItem(img.ToBitmap()); item.Tag = target; _isDirty = true; } }