Script en Python que captura video desde una cámara, envía cuadros a la API Google Cloud Vision y muestra sobre el video los objetos detectados.
- Descripción
- Estado del proyecto
- Características
- Tecnologías
- Requisitos
- Instalación
- Uso
- Estructura del proyecto
- Licencia
- Autores
El script abre la cámara con OpenCV y, cada 10 cuadros, envía una imagen en un hilo aparte al servicio de localización de objetos de Google Cloud Vision. Los nombres y puntuaciones de confianza más recientes se dibujan sobre el video en vivo, de modo que la interfaz no se bloquea mientras se espera la respuesta de la API.
Terminado. Script completo y funcional que no recibe mantenimiento activo.
- Captura de video en vivo desde la cámara por defecto (índice 0).
- Detección de objetos con
object_localizationde Google Cloud Vision. - Procesamiento en hilos con acceso sincronizado a los resultados.
- Superposición de la etiqueta y la puntuación de cada objeto sobre el video.
- Al cerrar con
q, muestra el total de cuadros procesados y el tiempo.
- Python 3.9
- OpenCV 4.10.0.84
- Google Cloud Vision (
google-cloud-vision3.9.0) - NumPy y
threadingde la biblioteca estándar
- Python 3.9
- Una cámara disponible en el equipo
- Cuenta de Google Cloud con la API de Vision habilitada (guía) y una clave de cuenta de servicio en formato JSON. El uso de la API puede generar costos según tu plan de Google Cloud.
git clone https://github.com/ViceAguilera/script-detector-google-vision-api.git
cd script-detector-google-vision-api
python -m venv venv
./venv/Scripts/activate # En Linux/macOS: source venv/bin/activate
pip install -r requirements.txtLa carpeta credentials/ está vacía en el repositorio (solo contiene .gitkeep) y las credenciales no se incluyen.
- Descarga la clave JSON de tu cuenta de servicio desde Google Cloud y guárdala en
credentials/. - En
main.py, reemplaza la ruta asignada aGOOGLE_APPLICATION_CREDENTIALS(líneas 8 a 10) por la ruta completa de tu archivo JSON.
Importante: la clave da acceso a tu proyecto de Google Cloud y no debe subirse al repositorio. El .gitignore excluye credentials/*.json; aun así, verifica con git status antes de hacer commit.
python main.pyPresiona q en la ventana de video para salir.
main.py # Captura de video, llamadas a Vision y visualización
requirements.txt # Dependencias con versiones fijadas
credentials/ # Aquí va tu clave JSON de Google Cloud (no se versiona)
Distribuido bajo la licencia Apache 2.0. Ver LICENSE.
Vicente Aguilera Arias — Portafolio · GitHub · LinkedIn
Colaborador: Camilo Sáez Garrido