private async void PerformFaceAnalysis(StorageFile file) { var imageInfo = await FileHelper.GetImageInfoForRendering(file.Path); NewImageSizeWidth = 300; NewImageSizeHeight = NewImageSizeWidth*imageInfo.Item2/imageInfo.Item1; var newSourceFile = await FileHelper.CreateCopyOfSelectedImage(file); var uriSource = new Uri(newSourceFile.Path); SelectedFileBitmapImage = new BitmapImage(uriSource); // start face api detection var faceApi = new FaceApiHelper(); DetectedFaces = await faceApi.StartFaceDetection(newSourceFile.Path, newSourceFile, imageInfo, "4c138b4d82b947beb2e2926c92d1e514"); // draw rectangles var color = Color.FromArgb(125, 255, 0, 0); var bg = new SolidColorBrush(color); DetectedFacesCanvas = new ObservableCollection<Canvas>(); foreach (var detectedFace in DetectedFaces) { var margin = new Thickness(detectedFace.RectLeft, detectedFace.RectTop, 0, 0); var canvas = new Canvas() { Background = bg, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Height = detectedFace.RectHeight, Width = detectedFace.RectWidth, Margin = margin }; DetectedFacesCanvas.Add(canvas); } }
private async void ButtonGetData_Click(object sender, RoutedEventArgs e) { // Show file picker dialog var dlg = new Microsoft.Win32.OpenFileDialog { DefaultExt = ".jpg", Filter = "Image files(*.jpg) | *.jpg" }; var result = dlg.ShowDialog(); if (!result.HasValue || !result.Value) { return; } SelectedFile = dlg.FileName; var faceApi = new FaceApiHelper(); var returnData = await faceApi.StartFaceDetection(SelectedFile, "4c138b4d82b947beb2e2926c92d1e514"); DetectedFaces = returnData.Item1; FacesRect = returnData.Item2; }
private async void ButtonGetData_Click(object sender, RoutedEventArgs e) { // Show file picker dialog var dlg = new Microsoft.Win32.OpenFileDialog { DefaultExt = ".jpg", Filter = "Image files(*.jpg) | *.jpg" }; var result = dlg.ShowDialog(); if (!result.HasValue || !result.Value) { return; } SelectedFile = dlg.FileName; var faceApi = new FaceApiHelper(); var returnData = await faceApi.StartFaceDetection(SelectedFile, Properties.Settings.Default.FaceApiKey, Properties.Settings.Default.EmotionsApiKey); DetectedFaces = returnData.Item1; FacesRect = returnData.Item2; StatusInformation = $@"{DetectedFaces.Count} faces datected."; }