FlorianLausB
24.06.2006, 23:48
Hallo Forum,
ich hab hier 3 Scripte für GIMP (laufen mit 2.2 und 2.3) welche euch vielleicht was nutzen könnten:
3DRI: dynamic range increase aus 3 Bildern einer Belichtungsreihe
5DRI: dynamic range increase aus 5 Bildern einer Belichtungsreihe
enlight: gezielte Aufhellung dunkler Bildbereiche
3DRI.scm:
(define (script-fu-3dri darkimg mediumimg lightimg adjust)
; load files
(set! dri (car (gimp-file-load 1 darkimg darkimg)))
(set! medium (car (gimp-file-load 1 mediumimg mediumimg)))
(set! light (car (gimp-file-load 1 lightimg lightimg)))
(gimp-image-undo-disable dri)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "dark")
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer medium)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "medium")
(gimp-image-delete medium)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer light)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "light")
(gimp-image-delete light)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-undo-enable dri)
; show image
(gimp-display-new dri)
)
(script-fu-register "script-fu-3dri"
"<Toolbox>/Xtns/Script-Fu/3DRI"
"3DRI"
"Florian Lindner"
"Florian Lindner"
"2006"
"RGB*"
SF-FILENAME _"dark" ""
SF-FILENAME _"medium" ""
SF-FILENAME _"light" ""
SF-ADJUSTMENT _"adjust" '(50 0 1000 5 10 0 1)
)
5DRI.scm:
(define (script-fu-5dri file1 file2 file3 file4 file5 adjust)
; load files
(set! dri (car (gimp-file-load 1 file1 file1)))
(set! img2 (car (gimp-file-load 1 file2 file2)))
(set! img3 (car (gimp-file-load 1 file3 file3)))
(set! img4 (car (gimp-file-load 1 file4 file4)))
(set! img5 (car (gimp-file-load 1 file5 file5)))
(gimp-image-undo-disable dri)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "dark")
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer img2)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "medium-dark")
(gimp-image-delete img2)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer img3)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "medium")
(gimp-image-delete img3)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer img4)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "medium-light")
(gimp-image-delete img4)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer img5)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "light")
(gimp-image-delete img5)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-undo-enable dri)
; show image
(gimp-display-new dri)
)
(script-fu-register "script-fu-5dri"
"<Toolbox>/Xtns/Script-Fu/5DRI"
"5DRI"
"Florian Lindner"
"Florian Lindner"
"2006"
"RGB*"
SF-FILENAME _"dark" ""
SF-FILENAME _"dark-medium" ""
SF-FILENAME _"medium" ""
SF-FILENAME _"light-medium" ""
SF-FILENAME _"light" ""
SF-ADJUSTMENT _"adjust" '(50 0 1000 5 10 0 1)
)
enlight.scm:
(define (script-fu-enlightenment img
drawable
gauss-radius)
; Create new layers
(set! enlightenment-layer (car (gimp-layer-copy drawable 0)))
(set! farbton-layer (car (gimp-layer-copy drawable 0)))
(set! saettigung-layer (car (gimp-layer-copy drawable 0)))
; Give them names
(gimp-drawable-set-name enlightenment-layer "Enlightenment")
(gimp-drawable-set-name farbton-layer "Color")
(gimp-drawable-set-name saettigung-layer "Hue")
; Add the new layers to the image
(gimp-image-add-layer img enlightenment-layer 0)
(gimp-image-add-layer img farbton-layer 0)
(gimp-image-add-layer img saettigung-layer 0)
; set layer mode
(gimp-layer-set-mode enlightenment-layer 5)
(gimp-layer-set-mode farbton-layer 13)
(gimp-layer-set-mode saettigung-layer 12)
; desaturate "entsaettigen" layer
(gimp-desaturate enlightenment-layer)
; invert layer
(gimp-invert enlightenment-layer)
; create layer mask
(gimp-layer-create-mask enlightenment-layer 5)
; Call a plugin to blur the image
(plug-in-gauss-rle 1 img enlightenment-layer gauss-radius 1 1)
; set opacity
(gimp-layer-set-opacity enlightenment-layer 80)
; Flush the display
(gimp-displays-flush)
)
(script-fu-register "script-fu-enlightenment"
"<Image>/Script-Fu/Enlight"
"enlightenment"
"Florian Lindner"
"Florian Lindner"
"2006"
"RGB*, GRAY*"
SF-IMAGE "Image" 0
SF-DRAWABLE "Layer to blur" 0
SF-VALUE "Gauss strength" "15")
Sorry, wenig bis keine Kommentare ...
Immer her mit Kritik und Verbesserungen, ich bin blutiger LISP und Script-fu Anfänger.
ich hab hier 3 Scripte für GIMP (laufen mit 2.2 und 2.3) welche euch vielleicht was nutzen könnten:
3DRI: dynamic range increase aus 3 Bildern einer Belichtungsreihe
5DRI: dynamic range increase aus 5 Bildern einer Belichtungsreihe
enlight: gezielte Aufhellung dunkler Bildbereiche
3DRI.scm:
(define (script-fu-3dri darkimg mediumimg lightimg adjust)
; load files
(set! dri (car (gimp-file-load 1 darkimg darkimg)))
(set! medium (car (gimp-file-load 1 mediumimg mediumimg)))
(set! light (car (gimp-file-load 1 lightimg lightimg)))
(gimp-image-undo-disable dri)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "dark")
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer medium)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "medium")
(gimp-image-delete medium)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer light)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "light")
(gimp-image-delete light)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-undo-enable dri)
; show image
(gimp-display-new dri)
)
(script-fu-register "script-fu-3dri"
"<Toolbox>/Xtns/Script-Fu/3DRI"
"3DRI"
"Florian Lindner"
"Florian Lindner"
"2006"
"RGB*"
SF-FILENAME _"dark" ""
SF-FILENAME _"medium" ""
SF-FILENAME _"light" ""
SF-ADJUSTMENT _"adjust" '(50 0 1000 5 10 0 1)
)
5DRI.scm:
(define (script-fu-5dri file1 file2 file3 file4 file5 adjust)
; load files
(set! dri (car (gimp-file-load 1 file1 file1)))
(set! img2 (car (gimp-file-load 1 file2 file2)))
(set! img3 (car (gimp-file-load 1 file3 file3)))
(set! img4 (car (gimp-file-load 1 file4 file4)))
(set! img5 (car (gimp-file-load 1 file5 file5)))
(gimp-image-undo-disable dri)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "dark")
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer img2)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "medium-dark")
(gimp-image-delete img2)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer img3)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "medium")
(gimp-image-delete img3)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer img4)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "medium-light")
(gimp-image-delete img4)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-add-layer dri (car (gimp-layer-new-from-drawable (car (gimp-image-get-active-layer img5)) dri)) 0)
(gimp-drawable-set-name (car (gimp-image-get-active-layer dri)) "light")
(gimp-image-delete img5)
(set! drawable (car (gimp-image-get-active-layer dri)))
(gimp-layer-add-alpha drawable)
(gimp-layer-add-mask drawable (car (gimp-layer-create-mask drawable 5)))
(gimp-invert (car (gimp-layer-get-mask drawable)))
(gimp-levels (car (gimp-layer-get-mask drawable)) 0 0 127 0.4 0 255)
(if (> adjust 0)
(begin
(plug-in-gauss-iir2 1 dri (car (gimp-layer-get-mask drawable)) adjust adjust)
)
)
(gimp-image-undo-enable dri)
; show image
(gimp-display-new dri)
)
(script-fu-register "script-fu-5dri"
"<Toolbox>/Xtns/Script-Fu/5DRI"
"5DRI"
"Florian Lindner"
"Florian Lindner"
"2006"
"RGB*"
SF-FILENAME _"dark" ""
SF-FILENAME _"dark-medium" ""
SF-FILENAME _"medium" ""
SF-FILENAME _"light-medium" ""
SF-FILENAME _"light" ""
SF-ADJUSTMENT _"adjust" '(50 0 1000 5 10 0 1)
)
enlight.scm:
(define (script-fu-enlightenment img
drawable
gauss-radius)
; Create new layers
(set! enlightenment-layer (car (gimp-layer-copy drawable 0)))
(set! farbton-layer (car (gimp-layer-copy drawable 0)))
(set! saettigung-layer (car (gimp-layer-copy drawable 0)))
; Give them names
(gimp-drawable-set-name enlightenment-layer "Enlightenment")
(gimp-drawable-set-name farbton-layer "Color")
(gimp-drawable-set-name saettigung-layer "Hue")
; Add the new layers to the image
(gimp-image-add-layer img enlightenment-layer 0)
(gimp-image-add-layer img farbton-layer 0)
(gimp-image-add-layer img saettigung-layer 0)
; set layer mode
(gimp-layer-set-mode enlightenment-layer 5)
(gimp-layer-set-mode farbton-layer 13)
(gimp-layer-set-mode saettigung-layer 12)
; desaturate "entsaettigen" layer
(gimp-desaturate enlightenment-layer)
; invert layer
(gimp-invert enlightenment-layer)
; create layer mask
(gimp-layer-create-mask enlightenment-layer 5)
; Call a plugin to blur the image
(plug-in-gauss-rle 1 img enlightenment-layer gauss-radius 1 1)
; set opacity
(gimp-layer-set-opacity enlightenment-layer 80)
; Flush the display
(gimp-displays-flush)
)
(script-fu-register "script-fu-enlightenment"
"<Image>/Script-Fu/Enlight"
"enlightenment"
"Florian Lindner"
"Florian Lindner"
"2006"
"RGB*, GRAY*"
SF-IMAGE "Image" 0
SF-DRAWABLE "Layer to blur" 0
SF-VALUE "Gauss strength" "15")
Sorry, wenig bis keine Kommentare ...
Immer her mit Kritik und Verbesserungen, ich bin blutiger LISP und Script-fu Anfänger.