; ruido_umbral.scm version 1.00 01 de abril de 2010 ; ; ;############################################################################## ; INSTALACIÓN ; 1.- Copia el archivo en: ; Si es GIM 2.4 y linux en la carpeta /home/tunombreusuario/.gimp-2.4/scripts ; Si es GIM 2.6 y linux en la carpeta /home/tunombreusuario/.gimp-2.6/scripts ; ; 2.- Reinicia Gimp ; ;############################################################################## ; CONFIGURACIÓN EN GIMP ; ; 1.- El script aparece en el menú Script-Fu de Gimp. Yo le he añadido una combinación de ; teclas para ejecutarlo (CTRL+ALT+U). Para hacerlo tienes que ir a: ; Archivo -> Preferencias -> Interfaz -> Configurar las combinaciones de teclas... ; ; 2.- Despliegas la lista de "Complementos" y al final del todo te aparecerá el script ; "Enfoque por deteccion de bordes". Lo seleccionas con el ratón y pulsas la combinación de teclas ; que te gusta (en mi caso CTRL+ALT+U) ; ;############################################################################## ; ELIMINACIÓN DE RUIDO POR DETECCIÓN DE BORDES: ; Debido al proceso no lineal de conversión de los archivos RAW a JPG, se produce una redistribución ; de los valores tonales de la imagen que pueden provocar la aparición de ruido en las zonas de sombra ; Este script aprovecha la potencia de GREYCstoration para quitar el ruido aplicando una selección ; de las sombras por umbral que actua como máscara. De esta forma la nueva capa generada muestra ; las zonas a las que se le ha quitado el ruido y la máscara deja transparente las zonas de los dos ; tercios superiores del histograma. ; ; Esta reducción de ruido se realiza al final de procesamiento de la imagen. ; ; Este Plugin está hecho para Gimp a partir de su versión 2.0 ; ; Log de cambios: ; 1.00 - Script inicial ; ;############################################################################## ; ; LICENCIA ; ; Copyright (C) 2010 www.tomassenabre.es ; ; Eliminación de ruido por deteccion de bordes es software libre; puedes copiarlo, distribuirlo y/o ; modificarlo dentro de los términos considerados en la Licencia Pública General ; de GNU publicada por la Fundación de Software Libre. ; ; Eliminación de ruido por deteccion de bordes se distribuye con la esperanza de de que será de ; utilidad, pero SIN NINGUNA GARANTÍA; tampoco tiene garantías de ; MERCHANDISE o APTITUD PARA UN PROPÓSITO PARTICULAR. ; ;############################################################################## ; ; LICENSE ; ; Copyright (C) 2010 www.tomassenabre.es ; ; Noise reduction by edge detection is free software; you can redistribute it and/or ; modify it under the terms of the GNU General Public License as ; published by the Free Software Foundation. ; ; Noise reduction by edge detection is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ; General Public License for more details. ; ;############################################################################## ; ; ------------------------------------------------------------------------------------------------ ; Definición de las variables (define (script-fu-reduccion-ruido-por-umbral aimg drawable) ; ------------------------------------------------------------------------------------------------ ; Si tu ordenador no es muy potente, es conveniente que acoples cada una de las zonas que vas revelando ; por que Gimp se vuelve pesado con forme se incrementa el número de capas. Para ello suprime el ";" ; de la siguiente línea: ; (gimp-image-flatten aimg) ; ------------------------------------------------------------------------------------------------ ; Comienza a guardar las acciones para poder usar la acción "deshacer" (gimp-undo-push-group-start aimg) ; ------------------------------------------------------------------------------------------------ ; Crear nuevas imágenes y capas necesarias a partir de la imagen de base (let* ( (layers (gimp-image-get-layers aimg)) (nb-layers (car layers)) (layers-array (cadr layers)) (background-dup (car (gimp-layer-copy drawable TRUE))) (background-dup (car (if (> nb-layers 0) (gimp-layer-copy (aref layers-array (- nb-layers 1)) TRUE)))) (layer-mask (car (gimp-layer-create-mask background-dup ADD-COPY-MASK))) ) ; Realizamos las siguientes acciones descritas en el flujo de trabajo: ; ------------------------------------------------------------------------------------------------ ; Creamos la nueva capa con la imagen de base (gimp-image-add-layer aimg background-dup -1) ; ------------------------------------------------------------------------------------------------ ; Crea una máscara de capa a partir de una copia de la capa en escala de grises y se ajustan niveles (gimp-layer-create-mask background-dup ADD-COPY-MASK) (gimp-layer-add-mask background-dup layer-mask) ; ------------------------------------------------------------------------------------------------ ; Quita la selección por si se tenía alguna activa (gimp-selection-none aimg) ; ------------------------------------------------------------------------------------------------ ; Ejecuta el script de detección de bordes DIFERENCIAL sobre la máscara (gimp-threshold layer-mask 0 75) ; ------------------------------------------------------------------------------------------------ ; Inicia la herramienta de desenfoque gaussiano, sobre el resultado de la máscara de bordes (plug-in-gauss-rle2 FALSE aimg layer-mask 10 10) ; ------------------------------------------------------------------------------------------------ ; Le da nombre a la capa generada (gimp-layer-set-name background-dup "Ruido ") ; ------------------------------------------------------------------------------------------------ ; Fija la opacidad de la nueva capa. Por defecto está en 75%, pero se puede cambiar a vuestras necesidades (gimp-layer-set-opacity background-dup 60) ; ------------------------------------------------------------------------------------------------ ; Cambia la selección de edición de la máscara a la imagen para ejecutar la máscara de desenfoque (gimp-layer-set-edit-mask background-dup FALSE) ; ------------------------------------------------------------------------------------------------ ; Lanza el plug-in de máscara de desenfoque (plug-in-greycstoration FALSE aimg background-dup 25.0 1.00 0.30 0.6 1.10 0.80 30.0 1 0 0 4 10.0 15.0 7 1 1) ) ; ------------------------------------------------------------------------------------------------ ; Cierra el grupo de la acción "deshacer" (gimp-undo-push-group-end aimg) ; ------------------------------------------------------------------------------------------------ ; Vacia todos los procesos internos del script (gimp-displays-flush)) (script-fu-register "script-fu-reduccion-ruido-por-umbral" "/Script-Fu/_Reducción de ruido por umbral" "Crea una capa con máscara a partir de la imagen de base le aplica la herramienta umbral para seleccionar las sombras y usa GREYCStoration para eliminar el ruido." "Tomas Senabre " "www.tomassenabre.es" "Apr 01, 2010" "RGB*, GRAY*" SF-IMAGE "Input Image" 1 SF-DRAWABLE "Input Drawable" 0) ; Copyright 2010 Tomás Senabre www.tomassenabre.es