PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : EBV mit GIMP - 3 Scripte


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.

springm
25.06.2006, 12:29
:cool: Ich dachte schon ich bin der einzige Gimpel unter all den Photoshoppern hier.

Ich werd mir die Skripte mal zu Gemüte führen - meine letzten DRI-Versuche sind allerdings schon lange her. Was ich ab und zu noch mache sind DRI's aus einem RAW-File. Für RAW nehm' ich ufraw, das bietet meines Erachtens eine gute Oberfläche für dcraw. Bin ja gespannt, wie Sony das MRW-Format unterstützen wird.

Gruß - Markus

Hansevogel
25.06.2006, 15:48
@Florian

Habe mir soeben enlight zu meinem Gimp gepackt und ein wenig getestet.

Da kann ich nur sagen: :top: :top: :top:

Sehr nützlich!

Gruß: Hansevogel

FlorianLausB
25.06.2006, 15:55
Da kann ich nur sagen: :top: :top: :top:
Danke für die Blumen, das Know-How hinter dem Script kommt übrigens von dieser Seite (http://www.gimps.de/gimp/bilder-fotos/dunkles-aufhellen/index.htm). Da gibt's noch mehr brauchbare Gimp-Tipps :)