Inicio rápido: Obtención de información detallada de imágenes con el SDK de Bing Visual Search para PythonQuickstart: Get image insights using the Bing Visual Search SDK for Python

Use este artículo de inicio rápido para empezar a obtener información detallada de imágenes desde el servicio Bing Visual Search con el SDK de Python.Use this quickstart to begin getting image insights from the Bing Visual Search service, using the Python 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 correspondiente a este ejemplo se encuentra disponible en GitHub.The source code for this sample can be found on GitHub

Requisitos previosPrerequisites

  • Python 2.x o 3.xPython 2.x or 3.x
  • Se recomienda utilizar un entorno virtual.It is recommended to use a virtual environment. Instale e inicialice el entorno virtual con el módulo venv.Install and initialize the virtual environment with the venv module.
  • El SDK de Bing Visual Search para Python.The Bing Visual Search SDK for Python. Puede instalarlo con los siguientes comandos:You can install it with the following commands:
    1. cd mytestenv
    2. python -m pip install azure-cognitiveservices-search-visualsearch

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. Cree un archivo de Python en su IDE o editor favorito y agregue las siguientes instrucciones de importación.Create a new Python file in your favorite IDE or editor, and add the following import statements.

    import http.client, urllib.parse
    import json
    import os.path
    from azure.cognitiveservices.search.visualsearch import VisualSearchClient
    from azure.cognitiveservices.search.visualsearch.models import (
        VisualSearchRequest,
        CropArea,
        ImageInfo,
        Filters,
        KnowledgeRequest,
    )
    from msrest.authentication import CognitiveServicesCredentials
    
  2. Cree variables para la clave de suscripción, el identificador de configuración personalizada y la imagen que quiere cargar.Create variables for your subscription key, Custom Configuration ID, and the image you want to upload.

    subscription_key = 'YOUR-VISUAL-SEARCH-ACCESS-KEY'
    PATH = 'C:\\Users\\USER\\azure-cognitive-samples\\mytestenv\\TestImages\\'
    image_path = os.path.join(PATH, "image.jpg")
    
    
  3. Creación de una instancia del clienteInstantiate the client

    client = VisualSearchClient(endpoint="https://api.cognitive.microsoft.com", credentials=CognitiveServicesCredentials(subscription_key))
    

Envío de la solicitud de búsquedaSend the search request

  1. Con el archivo de imagen abierto, serialice VisualSearchRequest() y páselo como parámetro knowledge_request para el elemento visual_search().With the image file open, serialize VisualSearchRequest(), and pass it as the knowledge_request parameter for the visual_search().

    with open(image_path, "rb") as image_fd:
        # You need to pass the serialized form of the model
        knowledge_request = json.dumps(VisualSearchRequest().serialize())
    
        print("\r\nSearch visual search request with binary of dog image")
        result = client.images.visual_search(image=image_fd, knowledge_request=knowledge_request)
    
  2. Si se devolvieron resultados, imprímalos junto con las etiquetas y las acciones de la primera etiqueta.If any results were returned, print them, the tags, and the actions in the first tag.

    if not result:
            print("No visual search result data.")
    
            # Visual Search results
        if result.image.image_insights_token:
            print("Uploaded image insights token: {}".format(result.image.image_insights_token))
        else:
            print("Couldn't find image insights token!")
    
        # List of tags
        if result.tags:
            first_tag = result.tags[0]
            print("Visual search tag count: {}".format(len(result.tags)))
    
            # List of actions in first tag
            if first_tag.actions:
                first_tag_action = first_tag.actions[0]
                print("First tag action count: {}".format(len(first_tag.actions)))
                print("First tag action type: {}".format(first_tag_action.action_type))
            else:
                print("Couldn't find tag actions!")
        else:
            print("Couldn't find image tags!")
    

Pasos siguientesNext steps