Tutorial sul rilevamento web

Pubblico

Lo scopo di questo tutorial è aiutarti a sviluppare applicazioni utilizzando la funzionalità di rilevamento web dell'API Vision. Si presuppone che tu abbia familiarità con i costrutti e le tecniche di programmazione di base, ma anche se sei un programmatore principiante, dovresti essere in grado di seguire ed eseguire questo tutorial senza difficoltà, quindi utilizzare la documentazione di riferimento dell'API Vision per creare applicazioni di base.

Questo tutorial illustra un'applicazione dell'API Vision, mostrando come effettuare una chiamata all'API Vision per utilizzare la funzionalità di rilevamento web.

Prerequisiti

Python

Panoramica

Questo tutorial ti guida attraverso un'applicazione di base dell'API Vision che utilizza una richiesta di Web detection. Una risposta di Web detection annota l'immagine inviata nella richiesta con:

  • Etichette ottenute dal web
  • URL dei siti con immagini corrispondenti
  • URL delle immagini web che corrispondono parzialmente o completamente all'immagine nella richiesta
  • URL delle immagini visivamente simili

Elenco del codice

Durante la lettura del codice, ti consigliamo di seguire il riferimento Python dell'API Vision.

import argparse

from google.cloud import vision



def annotate(path: str) -> vision.WebDetection:
    """Returns web annotations given the path to an image.

    Args:
        path: path to the input image.

    Returns:
        An WebDetection object with relevant information of the
        image from the internet (i.e., the annotations).
    """
    client = vision.ImageAnnotatorClient()

    if path.startswith("http") or path.startswith("gs:"):
        image = vision.Image()
        image.source.image_uri = path

    else:
        with open(path, "rb") as image_file:
            content = image_file.read()

        image = vision.Image(content=content)

    web_detection = client.web_detection(image=image).web_detection

    return web_detection


def report(annotations: vision.WebDetection) -> None:
    """Prints detected features in the provided web annotations.

    Args:
        annotations: The web annotations (WebDetection object) from which