サーチ…


備考

この例では、Microsoft.ProjectOxford.Vision NuGetパッケージを使用しました。https : //www.nuget.org/packages/Microsoft.ProjectOxford.Vision/

Microsoft認知サービスの詳細については、 http//www.microsoft.com/cognitive-services/en-us/computer-vision-apiの公式ドキュメントを参照してください。

私のGitHubにアップロードされたサンプルを見つけてください: https : //github.com/Daniel-Krzyczkowski/XamarinIOS/tree/master/XamariniOS_CognitiveServices

また、私のブログにリンクを張って、Xamarin FormsアプリケーションでCognitive Servicesを使用する方法を紹介しました: http : //mobileprogrammer.pl

Microsoft認知サービスとの接続

この例では、Xamarin iOSモバイルアプリケーションでMicrosoft認知サービスを使用する方法を学習します。私たちは、Computer Vision APIを使用して、画像の内容を検出します。

Xamarin.iOSプロジェクトを作成したら、以下のNuGetパッケージをプロジェクトに追加してください:

https://www.nuget.org/packages/Microsoft.ProjectOxford.Vision/

このライブラリでは、私たちのiOSアプリで認知サービスを利用することができます。私はあなたがそれを使用するために既に登録されたMicrosoftアカウントを持っていると仮定し、あなたは以下のスクリーンのようにComputer Vision APIを有効にしました: ここに画像の説明を入力

一番下の「Subscribe」をクリックすると、Api Keyが生成されます:

ここに画像の説明を入力

これで、iOSアプリから認知サービスへのアクセスを設定することができます。まず、分析のための写真を得る必要があります。これを行うには、以下のXamarin Media Componentを使用できます。https : //components.xamarin.com/view/mediaplugin

インストールが完了したら、イメージとボタンで簡単なUIを作成し、ギャラリーから画像を選択しましょう。コントロールのサイズはあなた次第です。

Main.storyboardを開き、UIImageViewとUIButtonコントロールを追加すると、デフォルトのViewControllerが実行されます。それらの名前を追加します: "SelectedPictureImageView"と "SelectButton":

ここに画像の説明を入力

次に、画像選択を処理するために、「Touch Up Inside」イベントハンドラを追加する必要があります。

partial void SelectButtonClick(UIButton sender)
{
    selectImage();
}

async void selectImage()
{
    var selectedImage = await CrossMedia.Current.PickPhotoAsync();
    SelectedPictureImageView.Image =  new UIImage(NSData.FromStream(selectedImage.GetStream()));
}

今度は、コグニティブ・サービスが情報を返すと分析情報を表示したいと考えています。 "AnalysisLabel"というボタンの下にラベルを追加します。 ここに画像の説明を入力

それは、コンピュータビジョンAPIを接続する時間です!

選択した画像に関する情報を取得するには、以下のメソッドを追加します。 APIキーを貼り付けることを忘れないでください!

async Task analyseImage(Stream imageStream)
{
    try
    {
        VisionServiceClient visionClient = new VisionServiceClient("<<YOUR API KEY HERE>>");
        VisualFeature[] features = { VisualFeature.Tags, VisualFeature.Categories, VisualFeature.Description };
        var analysisResult = await visionClient.AnalyzeImageAsync(imageStream, features.ToList(), null);
        AnalysisLabel.Text = string.Empty;
        analysisResult.Description.Tags.ToList().ForEach(tag => AnalysisLabel.Text = AnalysisLabel.Text + tag + "\n");
    }
    catch (Microsoft.ProjectOxford.Vision.ClientException ex)
    {
        AnalysisLabel.Text = ex.Error.Message;
    }
}

これで "selectImage"メソッドで呼び出すことができます:

async void selectImage()
{
    var selectedImage = await CrossMedia.Current.PickPhotoAsync();
    SelectedPictureImageView.Image =  new UIImage(NSData.FromStream(selectedImage.GetStream()));
    await analyseImage(selectedImage.GetStream());
}

イメージを選択すると、Microsoft認知サービスはそれを分析して結果を返します。

ここに画像の説明を入力

あなたはイメージが大きすぎることはできないことを覚えておいてください - この場合、あなたは以下のような情報を受け取ります:

ここに画像の説明を入力

あなたが使用しようとすることができる他の多くのサービスがあります。詳細は、公式の文書(添付のリンク)を参照してください。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow