Einzelnen Beitrag anzeigen
Alt 24.06.2006, 23:48   #1
FlorianLausB
 
 
Registriert seit: 19.02.2006
Ort: Berlin StegZeh
Beiträge: 325
EBV mit GIMP - 3 Scripte

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:
Code:
(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:
Code:
(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:
Code:
(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.
__________________
meine Galerie
FlorianLausB ist offline   Mit Zitat antworten
Sponsored Links