[GIMP] Conviértete en un maestro de Python-fu (I)

scripts python

¿Te apetece aplicar efectos a una imagen de un modo rápido y sencillo? ¿Tiendes a aplicar siempre una serie de operaciones de forma repetitiva en tus imágenes?

Hace algún tiempo vimos cómo crear scripts para Gimp usando Script-fu como una forma de automatizar ciertas tareas de edición de imágenes ahorrándonos tiempo y aportamos (a modo de ejemplo) un script que permitía destacar determinadas zonas de una captura de pantalla.

Script-fu no está mal como lenguaje de programación pero, siendo sincero, no termina de convencerme tener que estar usando paréntesis (siempre se pierde alguno) tanto para las funciones como sus parámetros (como si del lenguaje de programación Lisp se tratase) puesto que siempre se me escapa alguno 😉

Influenciado por el bueno de Pepe Torres voy a optar por crear un tutorial por “entregas” XD sobre cómo crear scripts para Gimp usando Python.

En este primer artículo os cuento cuál es el objetivo que se persigue (y os proporciono el script para que lo podáis usar desde ya) y en la próxima (que prometo será la última y la publicaré única y exclusivamente si realmente os interesa) os desvelo:

  1. Cómo funciona
  2. Qué he aprendido
  3. Algún que otro consejo para facilitaros la creación de vuestros propios scripts (acá macros)

Objetivo

Necesitando reducir el tiempo que invierto en redactar los artículos del blog (de un tiempo a esta parte no ando precisamente sobrado) he optado por crear un script de Gimp que me permita destacar (rodeando con círculos y/o rectángulos las zonas de interés) y he aprovechado la ocasión para hacerlo en Python-fu y aprender a usarlo de paso (no hay mejor forma de aprender que plantearte una meta ¿no os parece?)

En un principio podría parecer sencillo y que apenas se gana tiempo pero, cuando tienes varias capturas de pantalla y, en cada una de ellas tienes que realizar los siguientes pasos

  1. Seleccionar las zonas de interés (eligiendo previamente la opción de selección en la ventana de herramientas)
  2. Crear un borde a las selecciones (Menú Seleccionar > Borde e indicar un tamaño)
  3. Añadir una capa transparente
  4. Seleccionar como color de primer plano el rojo (y que siempre sea el mismo tono)
  5. Cambiar a la herramienta de relleno (el cubo de pintura de la ventana de herramientas)
  6. “Chorrear” el color apuntando correctamente sobre alguno de los bordes creados anteriormente (en caso contrario no funciona)
  7. Aplanar todas las capas
  8. Anular la selección

Pues la verdad que se agradece tenerlo automatizado ¿no os parece? 😉

Instalación

Tan sencillo como:

  1. Descargar el fichero blog.py (tienes razón, no he estado muy inspirado para ponerle nombre a la “criatura” 😉 ) del siguiente repositorio de GitHub
  2. Copiarlo en $HOME/.gimp-2.8/plug-ins  ubicación plugins de gimp
  3. Reiniciar Gimp (si es que lo tienes abierto para que detecte el nuevo plug-in)

NOTA: Según la versión de Gimp que tengas instaladas, la carpeta .gimp-2.8 podría variar para reflejar tu versión concreta

Uso

Realmente sencillo:

  1. Abre la imagen a procesar (debe estar en modo de color RGB)
  2. Selecciona las zonas que te interese destacar (puedes utilizar tanto la selección rectangular como la elíptica) seleccionar contenido imagen
  3. Ejecuta el plug-in desde Filtro > Blog > Círculos ejecutar filtros por lotes en gimp

Conclusión

Experimento en Python-fu que te permitirá destacar zonas de una imagen de un modo rápido y sencillo.

Y tú…

  1. ¿Programas en Python-fu?
  2. ¿Te parece útil poder automatizar las tareas repetitivas?
  3. ¿Te interesaría aprender a programar plug-ins para Gimp?
  4. ¿Te apetece que publiquemos el nuevo artículo desvelando los “secretos”?

 

12 comentarios en “[GIMP] Conviértete en un maestro de Python-fu (I)

  1. josftm dijo:

    En primer lugar, gracias por la parte que me toca al servir de “inspiración XD ”
    Muy buena entrada y muy útil, que además de ser un método rápido para hacer algún tratamiento a la imagen, es de mucha ayuda a aquellos (incluido yo) que nos aferramos a Photoshop (y sí, sigo defendiendo frente a Gimp 😉 ).

    Me ha picado la curiosidad y en algún rato libre voy a ver si soy capaz de sacar algún script que recorte la imagen a un tamaño determinado (640*XXX, por ejemplo), y aplique alguna sombra con parámetros concretos (como el que no quiere la cosa jeje).

    un saludo.

    • Interesante ejercicio el que te propones amigo Pepe.

      El aplicar la sombra sería cómodo y factible sin demasiada dificultad pero no termino de ver cómo plantearías recortar una zona de 640px (salvo que pretendas redimensionar la imagen a dicho ancho) de forma automática y sin intervención “humana”.

      Se me ocurren un par de planteamientos posibles que sería resultaría entretenido “discutir” 😉

      • josftm dijo:

        Había pensado justamente en eso, redimensionar la imagen (ya que solemos trabajar sobre una captura en la que ya hemos recortado la parte que no nos interesa 😉 ).

        Otra opción es la herramienta de selección (como has hecho en esta entrada), solo que con la herramienta de recorte.

        • Redimensionar es trivial e interesante como ejercicio (sírvete hacer un fork en Github si lo intentas)

          La segunda opción: recortando o no, implicaría ampliar la zona seleccionada (supondremos que el usuario ha seleccionado mínimamente la parte interesante de la imagen) proporcionalmente por ambos laterales hasta los 640px respetando los límites físicos de la imagen base (si llegamos a cualquier borde sólo se debería ampliar por el otro)

          Es la solución más “correcta” y sencilla al “problema” que se me ocurre a bote pronto ¿Qué opináis? 😉

    • Buena aportación el sugerir que comente el código entregado amigo Rafa… En aras de la claridad he pecado por defecto no usándolos.

      Esperaré a la publicación de un segundo artículo para añadirlos (así no tendré el código lleno de líneas adicionales)

  2. Antonio dijo:

    Hola a todos.

    Tengo una consulta. Como coordinador TIC de mi clase (si, eso en mi instituto existe) estoy interesado en ejecutar en una memoria USB via Windows To Go, Windows 10 en las Smart 800 (SDI) Eso lo veis posible? Funcionará?

    Saludos

    • Hola Antonio

      Interesante concepto el de coordinador TIC de una clase, vas a tener que contarnos más al respecto 😉

      Respecto a tu pregunta, y aún siendo algo OFF-TOPIC (tenemos un artículo hablando de tu modelo de pizarra) no tendría por qué no funcionar; otra cosa que podríamos discutir es la utilidad que tiene, si realmente supondría una mejora y si es, desde el punto de vista de licencias, es lícito

      Saludos y gracias por abrir la posibilidad de diálogo

      • Antonio dijo:

        Buenas,

        Supondría una mejora en el sentido de que a veces Guadalinex no inicia bien el software de Smart y con Windows hay soporte mejorado para el táctil. Otra cosa es que me dejen probarlo. Eso ya lo veo más dificil…

        • Yo no he tenido problemas con el Smart Notebook & cia, mas bien estoy encantado con él (otra cosa es que la versión de Guadalinex que tenemos no incluye la última versión actualizada y hay cosas que faltan)

          Ya contarás si te dejan toquetear la pizarra (sospecho que tendrás que conectarle un teclado usb para poder arrancar con tu pendrive 😉

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s