Introducción
La API de visión de Google Cloud Platform (GCP) permite a los desarrolladores integrar capacidades de análisis de imágenes en sus aplicaciones. Esta API utiliza modelos de aprendizaje automático para detectar y extraer información de imágenes, como la detección de objetos, el reconocimiento de texto (OCR), la clasificación de imágenes y más.
Objetivos de Aprendizaje
Al final de este tema, deberías ser capaz de:
- Comprender las capacidades y características de la API de visión.
- Configurar y autenticar el uso de la API de visión en un proyecto de GCP.
- Realizar operaciones básicas con la API de visión, como la detección de etiquetas y el reconocimiento de texto.
- Implementar ejemplos prácticos utilizando la API de visión.
- Capacidades de la API de visión
La API de visión ofrece varias funcionalidades clave:
- Detección de etiquetas: Identifica objetos, lugares, actividades y más dentro de una imagen.
- Reconocimiento de texto (OCR): Extrae texto de imágenes, incluyendo texto manuscrito.
- Detección de rostros: Identifica rostros humanos y sus características, como emociones.
- Detección de logotipos: Reconoce logotipos de marcas conocidas.
- Detección de puntos de referencia: Identifica lugares geográficos y puntos de interés.
- Propiedades de la imagen: Analiza propiedades de la imagen como colores dominantes.
- Configuración y autenticación
Paso 1: Crear un proyecto en GCP
- Accede a la Consola de Google Cloud.
- Crea un nuevo proyecto o selecciona uno existente.
Paso 2: Habilitar la API de visión
- En la consola de GCP, navega a API & Services > Library.
- Busca "Vision API" y haz clic en Enable.
Paso 3: Configurar la autenticación
- Navega a API & Services > Credentials.
- Crea una nueva clave de cuenta de servicio:
- Haz clic en Create credentials y selecciona Service account key.
- Selecciona una cuenta de servicio existente o crea una nueva.
- Descarga el archivo JSON de la clave.
Paso 4: Configurar las variables de entorno
Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS
para que apunte al archivo JSON descargado:
- Uso de la API de visión
Instalación del cliente de la API
Para interactuar con la API de visión, necesitas instalar el cliente de la API. Si estás utilizando Python, puedes instalar el cliente con pip:
Ejemplo práctico: Detección de etiquetas
A continuación, se muestra un ejemplo de cómo usar la API de visión para detectar etiquetas en una imagen.
Código de ejemplo
from google.cloud import vision import io def detect_labels(path): """Detecta etiquetas en una imagen.""" client = vision.ImageAnnotatorClient() with io.open(path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) response = client.label_detection(image=image) labels = response.label_annotations print('Labels:') for label in labels: print(label.description) # Reemplaza 'path/to/your/image.jpg' con la ruta a tu imagen detect_labels('path/to/your/image.jpg')
Explicación del código
- Importar la biblioteca: Importamos el cliente de la API de visión.
- Crear un cliente: Creamos una instancia de
ImageAnnotatorClient
. - Leer la imagen: Leemos la imagen desde el disco.
- Crear un objeto de imagen: Creamos un objeto
Image
con el contenido de la imagen. - Realizar la detección de etiquetas: Llamamos al método
label_detection
y obtenemos las etiquetas. - Imprimir las etiquetas: Iteramos sobre las etiquetas y las imprimimos.
Ejemplo práctico: Reconocimiento de texto (OCR)
Código de ejemplo
from google.cloud import vision import io def detect_text(path): """Detecta texto en una imagen.""" client = vision.ImageAnnotatorClient() with io.open(path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) response = client.text_detection(image=image) texts = response.text_annotations print('Texts:') for text in texts: print(text.description) # Reemplaza 'path/to/your/image.jpg' con la ruta a tu imagen detect_text('path/to/your/image.jpg')
Explicación del código
- Importar la biblioteca: Importamos el cliente de la API de visión.
- Crear un cliente: Creamos una instancia de
ImageAnnotatorClient
. - Leer la imagen: Leemos la imagen desde el disco.
- Crear un objeto de imagen: Creamos un objeto
Image
con el contenido de la imagen. - Realizar la detección de texto: Llamamos al método
text_detection
y obtenemos el texto. - Imprimir el texto: Iteramos sobre los textos y los imprimimos.
- Ejercicios prácticos
Ejercicio 1: Detección de logotipos
Escribe un script que utilice la API de visión para detectar logotipos en una imagen.
Solución
from google.cloud import vision import io def detect_logos(path): """Detecta logotipos en una imagen.""" client = vision.ImageAnnotatorClient() with io.open(path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) response = client.logo_detection(image=image) logos = response.logo_annotations print('Logos:') for logo in logos: print(logo.description) # Reemplaza 'path/to/your/image.jpg' con la ruta a tu imagen detect_logos('path/to/your/image.jpg')
Ejercicio 2: Detección de puntos de referencia
Escribe un script que utilice la API de visión para detectar puntos de referencia en una imagen.
Solución
from google.cloud import vision import io def detect_landmarks(path): """Detecta puntos de referencia en una imagen.""" client = vision.ImageAnnotatorClient() with io.open(path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) response = client.landmark_detection(image=image) landmarks = response.landmark_annotations print('Landmarks:') for landmark in landmarks: print(landmark.description) # Reemplaza 'path/to/your/image.jpg' con la ruta a tu imagen detect_landmarks('path/to/your/image.jpg')
Conclusión
En este tema, hemos explorado las capacidades de la API de visión de GCP, cómo configurarla y autenticarla, y cómo utilizarla para realizar tareas comunes como la detección de etiquetas y el reconocimiento de texto. También hemos proporcionado ejemplos prácticos y ejercicios para reforzar los conceptos aprendidos. Con esta base, estarás preparado para integrar capacidades avanzadas de análisis de imágenes en tus aplicaciones utilizando la API de visión de GCP.
Curso de Google Cloud Platform (GCP)
Módulo 1: Introducción a Google Cloud Platform
- ¿Qué es Google Cloud Platform?
- Configuración de tu cuenta de GCP
- Descripción general de la consola de GCP
- Comprensión de proyectos y facturación
Módulo 2: Servicios principales de GCP
Módulo 3: Redes y seguridad
Módulo 4: Datos y análisis
Módulo 5: Aprendizaje automático e IA
Módulo 6: DevOps y monitoreo
- Cloud Build
- Repositorios de código en la nube
- Cloud Functions
- Monitoreo de Stackdriver
- Cloud Deployment Manager
Módulo 7: Temas avanzados de GCP
- Híbrido y multi-nube con Anthos
- Computación sin servidor con Cloud Run
- Redes avanzadas
- Mejores prácticas de seguridad
- Gestión y optimización de costos