none
faceapis RRS feed

  • Общие обсуждения

  • using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Microsoft.ProjectOxford.Face; using Microsoft.ProjectOxford.Face.Contract; using System.IO; namespace faceAPP { /// <summary> /// Логика взаимодействия для MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private readonly IFaceServiceClient faceServiceClient = new FaceServiceClient("ключ api"); private async void Button_Click(object sender, RoutedEventArgs e) { var openDlg = new Microsoft.Win32.OpenFileDialog(); openDlg.Filter = "JPEG Image(*.jpg)|*.jpg"; bool? result = openDlg.ShowDialog(this); if (!(bool)result) { return; } string filePath = openDlg.FileName; Uri fileUri = new Uri(filePath); BitmapImage bitmapSource = new BitmapImage(); bitmapSource.BeginInit(); bitmapSource.CacheOption = BitmapCacheOption.None; bitmapSource.UriSource = fileUri; bitmapSource.EndInit(); FacePhoto.Source = bitmapSource; Title = "Detecting..."; FaceRectangle[] faceRects = await UploadAndDetectFaces(filePath); Title = String.Format("Detection Finished. {0} face(s) detected", faceRects.Length); if (faceRects.Length > 0) { DrawingVisual visual = new DrawingVisual(); DrawingContext drawingContext = visual.RenderOpen(); drawingContext.DrawImage(bitmapSource, new Rect(0, 0, bitmapSource.Width, bitmapSource.Height)); double dpi = bitmapSource.DpiX; double resizeFactor = 96 / dpi; foreach (var faceRect in faceRects) { drawingContext.DrawRectangle( Brushes.Transparent, new Pen(Brushes.Red, 2), new Rect( faceRect.Left * resizeFactor, faceRect.Top * resizeFactor, faceRect.Width * resizeFactor, faceRect.Height * resizeFactor ) ); } drawingContext.Close(); RenderTargetBitmap faceWithRectBitmap = new RenderTargetBitmap( (int)(bitmapSource.PixelWidth * resizeFactor), (int)(bitmapSource.PixelHeight * resizeFactor), 96, 96, PixelFormats.Pbgra32); faceWithRectBitmap.Render(visual); FacePhoto.Source = faceWithRectBitmap; } } private async Task<FaceRectangle[]> UploadAndDetectFaces(string imageFilePath) { try { using (Stream imageFileStream = File.OpenRead(imageFilePath)) { var faces = await faceServiceClient.DetectAsync(imageFileStream); var faceRects = faces.Select(face => face.FaceRectangle); return faceRects.ToArray(); } } catch (Exception) { return new FaceRectangle[0]; } } } Выдает ошибку

    в этой части

    private readonly IFaceServiceClient faceServiceClient =
                    new FaceServiceClient("ключ api");
    
    никак не могу понять почему, кто нибудь встречался с подобным? в чем может быть проблема? заранее спасибо)

    PS key api точно верный
    6 июля 2015 г. 20:59

Все ответы

  • Добрый день.

    1. Перенесите все присвоения полям/свойствам в конструктор.

    2. Выполните его по шагам и определите на какой строке падает.

    3. Доуточните вопрос.

    Отвечающий