Use a curva de cor do GIMP com o ImageMagick

5

Eu criei uma curva de cores com o GIMP. Parece assim:

~/.gimp2.8/curves/selphy

(apenas as primeiras linhas)

# GIMP curves tool settings

(time 0)
(channel value)
(curve
    (curve-type smooth)
    (n-points 17)
    (points 34 0.000000 0.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 0.375000 0.490637 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 1.000000 1.000000)
    (n-samples 256)
    (samples 256 .....

Eu quero processar algumas imagens em lote com o convert (ImageMagick).

Existe uma maneira de usar essa curva com convert ?

    
por guettli 19.12.2013 / 21:41

2 respostas

1

Se você não se importar em usar o GIMP no modo batch em vez do ImageMagick, você pode usar um script Script-Fu como este:

(define (color-curves filename output-filename curve)
  (let* (
      (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
      (drawable (car (gimp-image-get-active-layer image)))
    )
    (gimp-curves-explicit drawable 0 256 curve)
    (gimp-file-save RUN-NONINTERACTIVE image drawable output-filename output-filename)
  )
)

Salve como ~/.gimp-2.8/scripts/color-curves.scm .

Em seguida, no console:

gimp -i -b '(color-curves "intput.jpg" "output.jpg" #(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 8 8 8 9 9 9 9 10 10 10 11 11 11 12 12 13 13 13 14 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 25 25 26 27 27 28 28 29 30 31 31 32 33 33 34 35 36 37 37 38 39 40 41 42 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 61 62 64 66 67 69 71 73 76 78 80 83 85 88 90 93 96 98 101 104 107 110 113 116 119 122 125 128 132 135 138 141 144 148 151 154 157 160 163 167 170 173 176 179 182 185 188 191 194 197 199 202 205 207 210 212 215 217 219 222 224 226 228 228 230 231 233 235 236 237 239 240 241 242 243 244 245 246 247 248 249 249 250 250 251 251 252 252 252 253 253 253 254 254 254 254 254 254 255 255 255 255 255 255))' -b '(gimp-quit 0)'

em que o terceiro argumento para as curvas de cores são os valores de samples em seu arquivo de curva de cor multiplicado por 255 e arredondado. input.jpg e output.jpg são as imagens de entrada e saída (resp.).

    
por 05.12.2014 / 00:03
0

Eu vi um script com o seguinte método utilizando imagemagick (1).

  1. crie uma tela preta.
  2. desenhe uma linha usando pontos de controle.
  3. pinte a área abaixo da linha para branco.
  4. redimensione a imagem em uma barra de altura de 1 pixel e gire-a no sentido horário.

Desta forma, obtemos um gradiente cinza, alimentá-lo para imagemagick como lut aka. tabela de pesquisa . aplique isso por canais de cor.

Além disso, o gimp vem com funções lisp gimp-curves-spline e gimp-curves-explicit, podemos escrever alguns pequenos programas e rodar com o redering do batch. um pacote curveloader pode analisar o formato de arquivo da curva. consulte os manuais, se necessário.

    
por 23.12.2013 / 12:44