Microsoftコグニティブサービスエモーション(UWP)で使用するために、自分のPCから生の画像として画像を読み込もうとしています。 は、以下の私のコードの一部です:ストリーム画像としてPCから画像を読み込みます
//Chose Image from PC
private async void chosefile_Click(object sender, RoutedEventArgs e)
{
//Open Dialog
FileOpenPicker open = new FileOpenPicker();
open.ViewMode = PickerViewMode.Thumbnail;
open.SuggestedStartLocation = PickerLocationId.Desktop;
open.FileTypeFilter.Add(".jpg");
open.FileTypeFilter.Add(".jpeg");
open.FileTypeFilter.Add(".gif");
open.FileTypeFilter.Add(".png");
file = await open.PickSingleFileAsync();
if (file != null)
{//imagestream is declared as IRandomAccessStream.
imagestream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
var image = new BitmapImage();
image.SetSource(imagestream);
imageView.Source = image;
}
else
{
//
}
}
一部が上記正常に動作しますが、それはPC(ダイアログボックス)から写真を選択し、画像ボックスに表示されます。
private async void analyse_Click(object sender, RoutedEventArgs e)
{
try
{
emotionResult = await emotionServiceClient.RecognizeAsync(imagestream.AsStream());
}
catch
{
output.Text = "something is wrong in stream";
}
try {
if(emotionResult!= null)
{
Scores score = emotionResult[0].Scores;
output.Text = "Your emotions are: \n" +
"Happiness: " + score.Happiness + "\n" +
"Sadness: " + score.Sadness;
}
}
catch
{
output.Text = "Something went wrong";
}
}
私は のImageStreamはIRandomAccessStreamとして宣言されている)(エラーがimagestream.AsStreamが原因だと思います。
誰かがその部分を修正する方法を教えてもらえますか、エラーが実際に画像を正しく読み込んでいないためですか?
EDIT: ストリームを使用してストリームの代わりにemotionServiceClientに保存されたファイルを渡す代わりに、これを行うより良い方法がありますか?
キャッチされた例外メッセージは何ですか? –