private Image <Bgr, byte> FindFacesIfNeeded(Image <Bgr, byte> img, bool isDetectorEn) { Image <Bgr, byte> imageTemp = img; // Если не нужно искать лица if (!isDetectorEn) { return(imageTemp); } using (var curCv = new EmguCv()) { var grayImage = img.Convert <Gray, Byte>(); var facesList = curCv.GetFaces(grayImage); if (facesList.Count > 1) { MessageBox.Show(@"Ошибка поиска или в кадре несколько лиц!"); curCv.DrawRectangleOnImage(facesList, ref imageTemp, Color.Blue); button_Ok.Enabled = false; } else { button_Ok.Enabled = true; } curCv.DisposeAll(); } return(imageTemp.Clone()); }
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox1.SelectedItem == null) { return; } _myCv.DisposeAll(); _myCv = new EmguCv(); int numCam = Int32.Parse(comboBox1.SelectedItem.ToString()); if (!_myCv.TryInitCamera(numCam)) { MessageBox.Show(@"Ошибка камеры. Попробуйте переподключить камеру"); return; } _myCv.StartCapturing(); _myCv.FrameChanged += RunTimePhotoFace; button_TakePicture.Enabled = true; }
public SnapshotForm() { InitializeComponent(); _myCv = new EmguCv(); _capturedPersonImg = null; }