private void faceDetect(ushort j) { cvsbmp = UtilFn.BitmapImage2Bitmap(images[j]); var cascade = new Accord.Vision.Detection.Cascades.FaceHaarCascade(); var detector = new Accord.Vision.Detection.HaarObjectDetector(cascade, minSize: 50, searchMode: Accord.Vision.Detection.ObjectDetectorSearchMode.Average); System.Drawing.Rectangle[] rectangles = detector.ProcessFrame(cvsbmp); List <Bitmap> listBitmap = new List <Bitmap>(); foreach (System.Drawing.Rectangle r in rectangles) { listBitmap.Add(UtilFn.CropImage(cvsbmp, r.X, r.Y, r.Width, r.Height)); } if (rectangles.Count() == 0) { imageInfo.Text = "No faces detected!"; } else { //imagesEdited[j] = (converter.Convert(UtilFn.MergeImages(listBitmap), Type.GetType("BitmapImage"), null, null) as BitmapImage).Clone(); foreach (var x in listBitmap) { imagesEdited.Add((converter.Convert(x, Type.GetType("BitmapImage"), null, null) as BitmapImage).Clone()); } } }
public Element() { // Caracteristiques pour le rectangle _rectangle = new Rectangle { Width = Width, Height = Height }; // Images _imageBrush = new ImageBrush(); _rectangle.Fill = _imageBrush; _rectangle.IsEnabled = true; _rectangle.PreviewMouseLeftButtonDown += LeftButtonDown; _rectangle.MouseLeftButtonUp += LeftButtonUp; // Level Rectangle _levelRectangle = new Rectangle { Width = 8, Height = 8 }; var imageConverter = new WPFBitmapConverter(); ImageBrush imageLvl = new ImageBrush { ImageSource = (ImageSource)imageConverter.Convert(Properties.Resources.level_rect, null, null, null) }; _levelRectangle.Fill = imageLvl; _levelRectangle.IsHitTestVisible = false; // Level Label _levelLabel = new Label { Width = 20, Height = 20, FontSize = 8, Foreground = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0xB3, 0x7B)), Content = _level.ToString(), IsHitTestVisible = false }; // Click rect _clickBorder = new Border { Width = Width, Height = Height - 10 }; int borderThickness = 2; _clickBorder.BorderThickness = new Thickness(borderThickness, borderThickness, borderThickness, borderThickness); _clickBorder.BorderBrush = new SolidColorBrush(Color.FromArgb(0xFF, 0xC9, 0xD6, 0x3A)); _clickBorder.Visibility = Visibility.Hidden; _clickBorder.IsHitTestVisible = false; }