VIP (software)


VIPS es un paquete de software de procesamiento de imágenes de código abierto. [2] [3] Es particularmente bueno con imágenes grandes, funciona con procesadores multinúcleo , trabaja con color, análisis científico e investigación y desarrollo en general. Fue desarrollado durante y es el producto de varios proyectos de investigación europeos (VASARI, MARC, ACOHIR, Viseum) que trataban principalmente sobre el arte de la imagen, [4] pero que exigían un nuevo enfoque para el procesamiento de imágenes.

En comparación con la mayoría de las bibliotecas de procesamiento de imágenes, VIPS necesita poca RAM y se ejecuta rápidamente, especialmente en máquinas con más de una CPU . Esto se debe principalmente a su arquitectura que paraleliza automáticamente los flujos de trabajo de imágenes. [5]

El software tiene dos partes principales: libvips es la biblioteca de procesamiento de imágenes y nip2 es la interfaz gráfica de usuario . La GUI pretende estar a mitad de camino entre Photoshop y Excel . No está diseñado para tareas como retocar fotografías, pero es más útil para muchas otras tareas de creación de imágenes para las que se utilizan programas como Photoshop. Ambos funcionan en Linux , Unix , Windows y Apple macOS (10.2 y posteriores). [6]

La mayor parte de libVIPS está escrita en C . Sin embargo, hay bibliotecas de Python , Ruby y C++ que pueden usarlo.

VIPS procesa imágenes en pequeñas porciones (rectángulos o grupos de líneas) y los grupos de operaciones se ejecutan automáticamente mediante subprocesos separados. Esto hace que el procesamiento sea paralelo porque los sistemas modernos ejecutan los subprocesos en diferentes núcleos. También significa que las imágenes intermedias son pequeñas y se pueden almacenar fácilmente en la RAM . Así es como las imágenes de varios GB pueden procesarse en máquinas de manera eficiente. [11]También usa el tipo de almacenamiento más pequeño para los valores, por lo que una imagen RGB típica usaría tres valores de un byte, pero después de las operaciones aritméticas, se escalan para evitar errores a valores de 16 y 32 bits. El diseño basado en la demanda significa que si solo se requiere una cierta parte de las imágenes de entrada para calcular lo que se necesita, solo se calculan las partes requeridas. Hay muchos elementos arquitectónicos que le dan a VIPS su velocidad [12]incluida su falta de bloqueos y la capacidad de superponer entrada y salida. La mayoría de las imágenes comienzan con tres bytes por píxel (RGB), pero al procesar VIPS aumentará el tamaño de los elementos a 16, 32 o 64 bits cada uno si es necesario para evitar errores de recorte/redondeo. Esto también contribuye a la velocidad y al bajo uso de RAM. Su diseño basado en la demanda significa que es posible que no se calcule toda una imagen intermedia de 1 TiB si la salida es una pequeña parte de ella, por ejemplo.

VASARI [14] fue un proyecto de investigación financiado por la UE para construir un sistema capaz de medir el cambio de color a largo plazo en pinturas de maestros antiguos. Los sistemas anteriores habían realizado una serie de mediciones puntuales de áreas que se pensaba que probablemente se degradarían; por supuesto, esto significaba que los cambios en partes de la pintura que no se habían medido se perderían. VASARI pretendía solucionar esto a través de imágenes: usaría una cámara para medir el color y simplemente registraría toda la pintura.