Utilizzo di Vision con il framework Spring

Spring Cloud Google Cloud offre pratiche librerie per interfacciarsi con l'API Vision da un'applicazione Spring. Queste librerie includi Configurazione automatica e classi helper e Spring Boot Template per consentire agli sviluppatori di iniziare con l'API Vision.

Se hai già familiarità con Framework di primavera, Cloud Vision di Spring può semplifica l'utilizzo dell'API Vision nella tua applicazione e ridurre la quantità di codice che devi scrivere.

Questa pagina spiega come aggiungere Spring Cloud Vision a un ambiente Java un'applicazione. Per informazioni dettagliate sul modulo, vedi Riferimento Spring Cloud Vision.

Configurazione delle dipendenze

Per iniziare a utilizzare questa libreria, aggiungi l'elemento spring-cloud-gcp-starter-vision al tuo progetto.

Coordinate Maven, utilizzando il BOM di Google Cloud Spring Cloud:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-gcp-dependencies</artifactId>
      <version>1.2.8.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>${spring.version}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-gcp-starter-vision</artifactId>
</dependency>

Per ulteriori informazioni, consulta le istruzioni per la configurazione di uno sviluppo Java encoder-decoder. Non è necessario installare il client Google Cloud libreria per Java; il comando iniziale Spring Boot installa la libreria client automaticamente.

Analisi delle immagini

Dopo aver configurato le dipendenze di Spring Cloud Google Cloud Vision sul tuo classpath, puoi iniziare subito a elaborare le immagini ottenendo un'istanza di CloudVisionTemplate utilizzando Iniezione di dipendenze Spring.

@Autowired private CloudVisionTemplate cloudVisionTemplate;

CloudVisionTemplate è un wrapper intorno all'API Vision le librerie client e consente di elaborare facilmente le immagini tramite API Vision. Per ulteriori informazioni sulle funzionalità CloudVisionTemplate, vedi la pagina di riferimento del modello Cloud Vision.

Le seguenti sezioni contengono esempi di codice per casi d'uso comuni di CloudVisionTemplate. Tutti gli snippet di codice provengono dalla piattaforma Spring Applicazione di esempio Cloud Vision.

Recupero delle etichette di classificazione di un'immagine

Il codice seguente estrae le etichette di classificazione di un'immagine, fornendoti con descrizioni generali dei contenuti delle immagini.

AnnotateImageResponse response =
    this.cloudVisionTemplate.analyzeImage(
        this.resourceLoader.getResource(imageUrl), Type.LABEL_DETECTION);

Map<String, Float> imageLabels =
    response.getLabelAnnotationsList().stream()
        .collect(
            Collectors.toMap(
                EntityAnnotation::getDescription,
                EntityAnnotation::getScore,
                (u, v) -> {
                  throw new IllegalStateException(String.format("Duplicate key %s", u));
                },
                LinkedHashMap::new));

Estrazione del testo di un'immagine

L'esempio di codice seguente descrive un'altra operazione comune per l'estrazione del testo da un'immagine.

String textFromImage =
    this.cloudVisionTemplate.extractTextFromImage(this.resourceLoader.getResource(imageUrl));
return "Text from image: " + textFromImage;

Passaggi successivi