Inicio rápido: Obtención de información sobre imágenes con el SDK de Bing Visual Search para C#Quickstart: Get image insights using the Bing Visual Search SDK for C#

Use este artículo de inicio rápido para empezar a obtener información sobre las imágenes desde el servicio Bing Visual Search con el SDK de C#.Use this quickstart to begin getting image insights from the Bing Visual Search service, using the C# SDK. Aunque Bing Visual Search tiene una API REST compatible con la mayoría de los lenguajes de programación, el SDK ofrece una forma fácil de integrar el servicio en sus aplicaciones.While Bing Visual Search has a REST API compatible with most programming languages, the SDK provides an easy way to integrate the service into your applications. El código fuente de este ejemplo está disponible en GitHub.The source code for this sample can be found on GitHub.

Requisitos previosPrerequisites

  • Visual Studio 2019.Visual Studio 2019.
  • Si usa Linux/MacOS, esta aplicación puede ejecutarse con Mono.If you are using Linux/MacOS, this application can be run using Mono.
  • El paquete NuGet para Visual Search.The NuGet Visual Search package.
    • En el Explorador de soluciones en Visual Studio, haga clic con el botón derecho en el proyecto y seleccione Manage NuGet Packages en el menú.From the Solution Explorer in Visual Studio, right-click on your project and select Manage NuGet Packages from the menu. Instale el paquete Microsoft.Azure.CognitiveServices.Search.VisualSearch.Install the Microsoft.Azure.CognitiveServices.Search.VisualSearch package. La instalación de los paquetes NuGet también instala lo siguiente:Installing the NuGet packages also installs the following:
      • Microsoft.Rest.ClientRuntimeMicrosoft.Rest.ClientRuntime
      • Microsoft.Rest.ClientRuntime.AzureMicrosoft.Rest.ClientRuntime.Azure
      • Newtonsoft.JsonNewtonsoft.Json

Debe tener una cuenta de Cognitive Services API con acceso a Bing Search APIs.You must have a Cognitive Services API account with access to the Bing Search APIs. Si no tiene una suscripción de Azure, puede crear una cuenta gratuita.If you don't have an Azure subscription, you can create an account for free. Antes de continuar, necesitará la clave de acceso que se le proporcionó al activar la versión de evaluación gratuita o puede usar una clave de suscripción de pago desde el panel de Azure.Before continuing, You will need the access key provided after activating your free trial, or a paid subscription key from your Azure dashboard.

Creación e inicialización de la aplicaciónCreate and initialize the application

  1. En Visual Studio, cree un nuevo proyecto.In Visual Studio, create a new project. A continuación, agregue las siguientes directivas.Then add the following directives.

    using Microsoft.Azure.CognitiveServices.Search.VisualSearch;
    using Microsoft.Azure.CognitiveServices.Search.VisualSearch.Models;
    
  2. Cree instancias del cliente con la clave de suscripción.Instantiate the client with your subscription key.

    var client = new VisualSearchClient(new ApiKeyServiceClientCredentials("YOUR-ACCESS-KEY"));
    

Envío de una solicitud de búsquedaSend a search request

  1. Cree un FileStream para las imágenes (en este caso TestImages/image.jpg).Create a FileStream to your images (in this case TestImages/image.jpg). Después, use el cliente para enviar una solicitud de búsqueda con client.Images.VisualSearchMethodAsync().Then use the client to send a search request using client.Images.VisualSearchMethodAsync().

     System.IO.FileStream stream = new FileStream(Path.Combine("TestImages", "image.jpg"), FileMode.Open);
     // The knowledgeRequest parameter is not required if an image binary is passed in the request body
     var visualSearchResults = client.Images.VisualSearchMethodAsync(image: stream, knowledgeRequest: (string)null).Result;
    
  2. Analice los resultados de la consulta anterior:Parse the results of the previous query:

    // Visual Search results
    if (visualSearchResults.Image?.ImageInsightsToken != null)
    {
        Console.WriteLine($"Uploaded image insights token: {visualSearchResults.Image.ImageInsightsToken}");
    }
    else
    {
        Console.WriteLine("Couldn't find image insights token!");
    }
    
    // List of tags
    if (visualSearchResults.Tags.Count > 0)
    {
        var firstTagResult = visualSearchResults.Tags[0];
        Console.WriteLine($"Visual search tag count: {visualSearchResults.Tags.Count}");
    
        // List of actions in first tag
        if (firstTagResult.Actions.Count > 0)
        {
            var firstActionResult = firstTagResult.Actions[0];
            Console.WriteLine($"First tag action count: {firstTagResult.Actions.Count}");
            Console.WriteLine($"First tag action type: {firstActionResult.ActionType}");
        }
        else
        {
            Console.WriteLine("Couldn't find tag actions!");
        }
    }
    

Pasos siguientesNext steps