Como redimensionar uma imagem através do terminal? [duplicado]

114

Eu tenho o Ubuntu 10.04. Eu converti a imagem através do terminal usando o seguinte comando:

convert myfigure.png myfigure.jpg

Mas quero redimensionar a altura e a largura da imagem convertida. Existe alguma maneira de fazer isso?

    
por Md Kutubuddin Sardar 24.03.2013 / 03:20

4 respostas

147

O mesmo comando, com uma opção extra:

convert myfigure.png -resize 200x100 myfigure.jpg

ou

convert -resize 50% myfigure.png myfigure.jpg

Para redimensionar vários arquivos, você pode tentar o seguinte comando (como sugerido por @ test30 )

find . -maxdepth 1 -iname "*.jpg" | xargs -L1 -I{} convert -resize 30% "{}" _resized/"{}"
    
por Rinzwind 24.03.2013 / 05:49
36

Se você quiser apenas o CLI:

sudo apt-get install imagemagick
mogrify -resize 320x240 Image.png 
mogrify -resize 50% Image.png
mogrify -resize 320x240 *.jpg

Se você quiser experimentar a GUI:

Instale nautilus-image-converter

sudo apt-get install nautilus-image-converter

Ele adiciona dois itens de menu de contexto no nautlius para que você possa clicar com o botão direito e escolha "Redimensionar imagem" (o outro é "Girar imagem").

Você pode criar um diretório inteiro de imagens de uma só vez, se quiser, e nem precisa abrir um aplicativo para fazer isso.

    
por Maythux 11.03.2014 / 11:46
1

Como o Ubuntu vem com o Python, você também pode usar um script Python para conseguir isso com um pouco mais de controle sobre o que acontece - veja este stackoverflow questiona por exemplo scripts. Esses exemplos usam apenas a biblioteca padrão.

Script nº 1

import os, sys
import Image

size = 128, 128

for infile in sys.argv[1:]:
    outfile = os.path.splitext(infile)[0] + ".thumbnail"
    if infile != outfile:
        try:
            im = Image.open(infile)
            im.thumbnail(size, Image.ANTIALIAS)
            im.save(outfile, "JPEG")
        except IOError:
            print "cannot create thumbnail for '%s'" % infile

E outro exemplo em que você só precisa especificar a largura (como a variável de largura):

Script nº 2

from PIL import Image
import sys

filename = sys.argv[1:]
basewidth = 300
img = Image.open(filename)
wpercent = (basewidth/float(img.size[0]))
hsize = int((float(img.size[1])*float(wpercent)))
img = img.resize((basewidth,hsize), Image.ANTIALIAS)
img.save(filename) 

Agora, como fazer isso através do terminal ...

sudo nano resizescript.py

Cole um desses blocos de código no editor de texto. Ctrl + x para sair (diga sim para salvar as alterações).

Para usar o script nº 1:

python resizescript.py yourfilenamehere.jpg

Para usar o script nº 2:

python resizescript.py yourfilenamehere.jpg

Você deve estar no mesmo diretório que os arquivos de imagem para esses dois scripts. O primeiro encolhe a imagem para 128x128 pixels. O segundo script faz com que ele tenha 300 pixels de largura e calcula a altura proporcional. Esta é mais uma resposta do Python, mas é feita através do terminal tecnicamente.

    
por freeworld 10.09.2017 / 22:08
0
O

imgp é um utilitário relativamente novo que redimensiona e gira imagens. Tem mais recursos do que nautilus-image-converter.

    
por Arun Prakash Jana 05.10.2016 / 07:00