ImageMagick

Alguns comandos para conversão e manipulação de imagens.

Etiquetas: LinuxSoftware

Relacionado com: LinuxSoftwaresWiki Pessoal

Links

Imagens para PDF

Converter imagens RGB para CMYK

convert -units PixelsPerInch source.png -colorspace cmyk -density 300 output.jpeg

Anexar imagens lado a lado

Para anexar imagens verticalmente ↓ (de cima para baixo) usar -:

convert -append img1.jpg img2.jpg output_vertical.jpg

Para anexar imagens horizontalmente → (da esquerda para a direita) usar +:

convert +append img1.jpg img2.jpg output_horizontal.jpg

Aqui a diferença é o sinal + e -.

Criar grelha de imagens

Para criar uma grelha de imagens, usa-se o comando montage.

Uma grelha de 3x3, (com espaçamento de 2px por 2px entre cada img) de todas as imagens jpg na pasta:

montage -tile 3x3 -geometry +2+2 *.jpg montage.jpg

Mais opções, ver link1 e link2.

Marca de água

Para inserir a marca de água em imagens com a mesma dimensão, pode-se usar o seguinte script, tendo em conta que a imagem em marca de água também tenha a mesma dimensão das imagens a serem tratadas.

Caso seja apenas uma imagem:

convert input.jpg watermark.png -background white -gravity center -compose over -composite output.jpg

Caso sejam várias imagens:

rm -r watermark
mkdir -p watermark

for file in *.jpg
do
    convert $file watermark.png -background white -gravity center -compose over -composite watermark/$file
done

Recortar imagens

Legenda:

-crop crop_value_widthxcrop_value_height+crop_origin_x+crop_origin_y

Recortar simples de uma imagem

mogrify -verbose -strip -crop WIDTHxHEIGHT+X+Y "input_image.jpg"

Recortar várias secções de uma imagem

Para recortar várias secções de uma imagem com o imagemagick, pode-se usar o seguinte comando:

convert \
    input_image.jpg \
    -write mpr:XY \
    +delete \
    -respect-parentheses \
    \( mpr:XY -crop  1067x600+295+257  +write   output_01.jpg \) \
    \( mpr:XY -crop  1067x600+295+880  +write   output_02.jpg \) \
    \( mpr:XY -crop  1067x600+295+1503 +write   output_03.jpg \) \
    \( mpr:XY -crop  1067x600+295+2125 +write   output_04.jpg \) \
    \( mpr:XY -crop  1067x600+295+2748 +write   output_05.jpg \) \
    null: