Casos

Clipcutter: visión por computadora local para recortar fotos y videos en lote

Clipcutter es una herramienta local con dos módulos: uno detecta, endereza y recorta en lote las fotos digitalizadas juntas en páginas A4; el otro corta varios fragmentos de un video con FFmpeg. Todo corre en la máquina del usuario — ningún archivo sale de la computadora.

Cliente
Producto propio de Gomes Code
Sector
IA aplicada · visión por computadora
Código abierto pronto

Cliente y contexto

Digitalizar álbumes familiares o archivos produce PDFs con varias fotos torcidas por página, y separar cada una a mano lleva horas. Cortar fragmentos de video suele exigir editores pesados o servicios en línea.

El problema

“Tengo decenas de páginas con varias fotos cada una y quiero cada foto separada, derecha y del mismo tamaño — sin subir nada a internet.”

Restricciones

  • Nada puede salir de la máquina.
  • Sin Electron y sin paso de build en el front-end.
  • Los errores de FFmpeg deben aparecer tal como son, no como un mensaje genérico.

Decisiones y concesiones

  1. Interfaz en el navegador + servidor local (FastAPI)

    Por qué: Aprovecha el navegador que la persona ya tiene, sin el peso de una app Electron; el único tráfico es entre la pestaña y localhost.

  2. Detección con OpenCV ajustable en pantalla

    Por qué: Páginas renderizadas a 300 DPI; el tamaño mínimo, el desenfoque y la separación son controles en la interfaz, y la detección se rehace sola.

  3. Dos modos de corte de video

    Por qué: Corte rápido (copia de stream, casi instantáneo) o preciso (recodifica, exacto al cuadro), con el costo de cada uno explicado en pantalla.

Lo que se construyó

  • Extractor de fotos: detección, corrección de inclinación, recorte, redimensionamiento y exportación en ZIP.
  • Corrección manual: borrar falsos positivos y dibujar regiones que el detector no encontró.
  • Cortador de video: varios fragmentos en la línea de tiempo, exportación con progreso por fragmento.
  • Pruebas automatizadas para los dos servicios.

Resultados

  • 300 DPIde renderizado de cada página antes de la detecciónFuente: README del proyecto
  • 0archivos enviados fuera de la máquinaFuente: Arquitectura del proyecto

El azulejo de este caso

Líneas no vacías de código en cada capa del proyecto.

Líneas de código de Clipcutter por capa
Líneas de código de Clipcutter por capalíneas
Interfaz (JS, CSS, HTML)1,329
Rutas HTTP394
Servicios (visión y video)303
Pruebas151
Modelos de datos82

Fuente: Repositorio de Clipcutter · 2026-10-13

Tecnologías

  • Python
  • FastAPI
  • OpenCV
  • PyMuPDF
  • FFmpeg
  • JavaScript

¿Quiere algo de este nivel?

Envíe el problema, no la especificación.