Utilización de la herramienta GIMP (GNU Image Manipulation Program) y extensión de sus funcionalidades mediante scripts

Bookmark (0)
Please login to bookmark Close

Este Trabajo de Fin de Grado consiste en la extensión de las funcionalidades del programa GIMP (GNU Image Manipulation Program) desarrollando scripts personalizados, con el objetivo de automatizar tareas repetitivas de procesamiento gráfico. GIMP es una potente herramienta de código abierto, la cual, además de poder ser usada interactivamente, permite la creación de scripts en distintos lenguajes para su extensión, por lo que posibilita su uso desde la terminal y su integración en flujos de trabajo automatizados. El proyecto nace del interés por explorar las capacidades de GIMP para scripting en entornos donde es recurrente el tratamiento masivo de imágenes, como puede ser el análisis científico o técnico. Para ello, se ha trabajado con GIMP en su versión 3.0, instalada en un sistema Linux mediante Flatpak, lo que ha permitido acceder a un entorno aislado, actualizado y compatible con las últimas tecnologías. El desarrollo del trabajo se ha orientado hacia la implementación de scripts usando principalmente el lenguaje propio de GIMP a través de Script-Fu, Scheme, aunque también se ha explorado la posibilidad de extensión con Python-Fu. Entre las funcionalidades que se han implementado se encuentran: la conversión de formatos de imagen, la binarización, la adición de texto, la expansión de una determinada selección dentro de una imagen y el resaltado de objetos con el mismo color. Algunas de ellas, dependiendo de su funcionalidad, pudiendo ser ejecutadas desde la terminal. Este enfoque permite aprovechar GIMP como una herramienta potente y versátil, más allá de su uso convencional en edición gráfica. En conjunto, este trabajo demuestra que la herramienta GIMP, gracias a su capacidad de scripting, puede transformarse en una plataforma eficaz para la automatización de tareas gráficas, con aplicaciones que abarcan desde la edición básica hasta el análisis técnico o científico de imágenes y la aplicación de transformaciones.
ABSTRACT
This Final Degree Project consists of extending the functionality of the program GIMP (GNU Image Manipulation Program) by developing custom scripts, with the goal of automating repetitive graphic processing tasks. GIMP is a powerful open-source that, in addition to being usable interactively, allows the creation of scripts in different languages for its extension, enabling its use from the terminal and its integration into automated workflows. The project was born from the interest in exploring GIMP’s scripting capabilities in enviroments where massive image processing is common, such as scientific or technical analysis. To this end, we worked with GIMP version 3.0, installed on a Linux system using Flatpak, which provided access to an isolated, updated environment compatible with the latest technologies. The work has focused on implementing scripts primarily using GIMP’s ownscripting language, Scheme, although the possibility of extending it with Python-Fu has also been explored. Implemented features include image format conversion, binarization, adding text, expanding a selection within an image, and highlighting objects with the same color. Some of these features, depending on their functionality, can be executed from the terminal. This approach allows GIMP to be leveraged as a powerful and versatile tool, beyond its conventional use in graphic editing. Overall, this work demonstrates that GIMP, thanks to its scripting capabilities, can be transformed into an effective platform for automasing graphic tasks, with applications ranging from basic editing to technical or scientific image analysis.

​Este Trabajo de Fin de Grado consiste en la extensión de las funcionalidades del programa GIMP (GNU Image Manipulation Program) desarrollando scripts personalizados, con el objetivo de automatizar tareas repetitivas de procesamiento gráfico. GIMP es una potente herramienta de código abierto, la cual, además de poder ser usada interactivamente, permite la creación de scripts en distintos lenguajes para su extensión, por lo que posibilita su uso desde la terminal y su integración en flujos de trabajo automatizados. El proyecto nace del interés por explorar las capacidades de GIMP para scripting en entornos donde es recurrente el tratamiento masivo de imágenes, como puede ser el análisis científico o técnico. Para ello, se ha trabajado con GIMP en su versión 3.0, instalada en un sistema Linux mediante Flatpak, lo que ha permitido acceder a un entorno aislado, actualizado y compatible con las últimas tecnologías. El desarrollo del trabajo se ha orientado hacia la implementación de scripts usando principalmente el lenguaje propio de GIMP a través de Script-Fu, Scheme, aunque también se ha explorado la posibilidad de extensión con Python-Fu. Entre las funcionalidades que se han implementado se encuentran: la conversión de formatos de imagen, la binarización, la adición de texto, la expansión de una determinada selección dentro de una imagen y el resaltado de objetos con el mismo color. Algunas de ellas, dependiendo de su funcionalidad, pudiendo ser ejecutadas desde la terminal. Este enfoque permite aprovechar GIMP como una herramienta potente y versátil, más allá de su uso convencional en edición gráfica. En conjunto, este trabajo demuestra que la herramienta GIMP, gracias a su capacidad de scripting, puede transformarse en una plataforma eficaz para la automatización de tareas gráficas, con aplicaciones que abarcan desde la edición básica hasta el análisis técnico o científico de imágenes y la aplicación de transformaciones.
ABSTRACT
This Final Degree Project consists of extending the functionality of the program GIMP (GNU Image Manipulation Program) by developing custom scripts, with the goal of automating repetitive graphic processing tasks. GIMP is a powerful open-source that, in addition to being usable interactively, allows the creation of scripts in different languages for its extension, enabling its use from the terminal and its integration into automated workflows. The project was born from the interest in exploring GIMP’s scripting capabilities in enviroments where massive image processing is common, such as scientific or technical analysis. To this end, we worked with GIMP version 3.0, installed on a Linux system using Flatpak, which provided access to an isolated, updated environment compatible with the latest technologies. The work has focused on implementing scripts primarily using GIMP’s ownscripting language, Scheme, although the possibility of extending it with Python-Fu has also been explored. Implemented features include image format conversion, binarization, adding text, expanding a selection within an image, and highlighting objects with the same color. Some of these features, depending on their functionality, can be executed from the terminal. This approach allows GIMP to be leveraged as a powerful and versatile tool, beyond its conventional use in graphic editing. Overall, this work demonstrates that GIMP, thanks to its scripting capabilities, can be transformed into an effective platform for automasing graphic tasks, with applications ranging from basic editing to technical or scientific image analysis. Read More