Repolode
dmtrKovalenko

dmtrKovalenko/odiff

Herramienta rápida de comparación de imágenes píxel a píxel, optimizada con SIMD, con CLI y API para Node.js, escrita en Zig.

Estrellas
3,272
Forks
118
Issues abiertos
16
Último commit
hace 5 días

¿Qué es?

odiff compara dos imágenes píxel a píxel y genera una imagen diff que resalta las áreas modificadas. Está pensada para pruebas de regresión visual, en las que se comparan capturas de pantalla de una compilación con una imagen de referencia, pero también sirve para cualquier par de imágenes similares, como fotografías o imágenes generadas por IA.

La herramienta funciona como un binario independiente de línea de comandos y también se puede invocar desde Node.js mediante el paquete odiff-bin, que ofrece una función para realizar una comparación puntual y un ODiffServer persistente para ejecutar muchas comparaciones sin iniciar un proceso nuevo cada vez. También hay un modo servidor con un protocolo JSON por stdio para otros entornos de ejecución. Las comparaciones admiten ajustar el umbral, detectar el anti-aliasing, ignorar regiones y, de forma opcional, informar de los índices de las filas y columnas modificadas.

Admite los formatos PNG, JPEG, WebP y TIFF, y permite comparar imágenes de formatos distintos. El núcleo está escrito en Zig e incluye rutas SIMD para SSE2, AVX2, AVX512 y NEON. Hay integraciones para Playwright, Cypress, R y varios servicios de pruebas visuales.

Funciones clave

  • 01Comparación píxel a píxel que genera una imagen diff con las áreas modificadas resaltadas
  • 02Compatible con PNG, JPEG, WebP y TIFF, incluso para comparar imágenes de formatos distintos
  • 03Detección de anti-aliasing y regiones rectangulares que se pueden ignorar
  • 04API para Node.js con un modo servidor persistente para realizar comparaciones por lotes
  • 05Optimizaciones SIMD para SSE2, AVX2, AVX512 y NEON

Casos de uso

  • Pruebas de regresión visual de páginas web en pipelines de CI
  • Comparación de capturas de pantalla de Playwright o Cypress con imágenes de referencia
  • Detección de cambios no deseados en la interfaz entre compilaciones de una aplicación
  • Comparación por lotes de grandes cantidades de imágenes mediante scripts de Node.js

Temas

Preguntas frecuentes

¿Qué es odiff?
Herramienta rápida de comparación de imágenes píxel a píxel, optimizada con SIMD, con CLI y API para Node.js, escrita en Zig. odiff compara dos imágenes píxel a píxel y genera una imagen diff que resalta las áreas modificadas. Está pensada para pruebas de regresión visual, en las que se comparan capturas de pantalla de una compilación con una imagen de referencia, pero también sirve para cualquier par de imágenes similares, como fotografías o imágenes generadas por IA.
¿odiff es gratuito? ¿Qué licencia tiene?
odiff es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿odiff sigue mantenido?
Mantenimiento activo. El último commit de odiff fue el 13 oct 2026.
¿Para qué puedo usar odiff?
Pruebas de regresión visual de páginas web en pipelines de CI Comparación de capturas de pantalla de Playwright o Cypress con imágenes de referencia Detección de cambios no deseados en la interfaz entre compilaciones de una aplicación Comparación por lotes de grandes cantidades de imágenes mediante scripts de Node.js
¿Dónde consigo odiff?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dmtrKovalenko/odiff

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados