Como posso dimensionar todas as imagens de uma pasta para a mesma largura?

89

Eu quero dimensionar todas as imagens de uma determinada pasta para a mesma largura (mas diferentes alturas dimensionadas apropriadamente). Como posso fazer isso usando uma ferramenta de linha de comando ou baseada em GUI?

Para pontos de bônus, é possível restringir quais imagens são escalonadas com base em sua largura inicial (ou seja, somente imagens de escala com largura > x e / ou largura < y)?

    
por d3vid 11.05.2012 / 14:42

7 respostas

137

Isso é muito fácil de fazer com imagemagick . Você deve conseguir instalá-lo no Centro de Software. Eu sugeriria isso para processamento em lote de imagens.

O redimensionamento em lote é incrivelmente simples (testei com o Ubuntu 11.10). Use o comando a seguir para redimensionar todos os arquivos .jpg para 200 pixels de largura, mantendo a proporção:

$ convert '*.jpg[200x]' resized%03d.png

você pode manter o nome do arquivo usando a opção -set. Ex:

convert "images/*.jpg[250x]" -set filename:base "%[base]" "images/new_folder/%[filename:base].jpg"

Se você tem mais arquivos, você deve usar com find

find /folder -iname '*.JPG' -exec convert \{} -verbose -set filename:base "%[base]" -resize 1920x1080\> "/folder/images/%[filename:base].JPG" \;

Isso está apenas arranhando a superfície do poder da imagemagick. O redimensionamento pode ser ajustado sem parar . Para um redimensionamento mais avançado, você precisa usar a opção -resize .

Você pode limitar o redimensionamento para encolher :

$ convert '*.jpg[300x>]' thumb-300-%03d.png

ou ampliando :

$ convert '*.jpg[300x<]' thumb-300-%03d.png

Consulte a documentação sobre geometria para ver mais opções.

    
por bandi 11.05.2012 / 15:30
31

Para a GUI, Phatch "um clique vale mil fotos" é o melhor para esse trabalho rápido. Já está no repositório do Ubuntu.

sudo apt-get install phatch
  1. Adicionar escala & amp; Salvar item
  2. Definir opções de escala / redimensionamento
  3. Definir opções de salvamento / saída
  4. Executar
  5. Definir pasta de entrada
  6. Clique em lote para executar

    
por user.dz 12.01.2014 / 18:19
24

Tente isto:

sudo apt-get install gimp-plugin-registry

Em seguida, abra o Gimp e abra o plug-in em lote encontrado em Filters > Batch > Batch Process .

Selecione suas imagens na guia Input e defina a operação Redimensionar na guia Resize com nome surpreendente.

Mais informações podem ser encontradas aqui .

    
por SirCharlo 11.05.2012 / 14:52
19

Tente o comando mogrify das ferramentas do ImageMagick.

  • dê um caminho para separar a saída dos originais
  • forneça a largura ou a altura da miniatura desejada, abaixo de um exemplo de largura
  • assim você mantém o nome do arquivo original: -)

Exemplo:

$ mogrify -path small/ -auto-orient -thumbnail 300x *.jpg
    
por miguelfg 22.07.2016 / 17:26
8

Veja como eu fiz isso por encolhendo apenas imagens maiores :

find . -iname \*.jpg -exec convert -verbose -quality 80 -resize 1600\> "{}" "FOO_FOLDER/{}" \;

Ele dimensionará adequadamente as alturas.

Para usar o comando convert , você precisa instalar o Imagemagick via sudo apt-get install imagemagick .

    
por kenorb 29.08.2015 / 22:30
8

Respondido e aceito (e uso o ImageMagick), mas para ser completo ... Eu tenho um chefe não técnico que queria um visualizador simples com algumas ferramentas básicas e tinha que ser GUI. Eu decidi sobre gThumb para ele.

Na visualização em miniatura, você ...

  • Selecione as imagens que você deseja redimensionar
  • Inicie a função de redimensionamento (clique no ícone Chave inglesa > Redimensionar imagens ..)
  • Coloque um novo tamanho com base em pixels ou porcentagem
  • Selecione uma pasta de saída e vá embora.
por Dennis 03.12.2013 / 21:39
3

Para o redimensionamento de imagens em lote , examinei muitos pacotes e finalmente encontrei um com uma interface utilizável - converseen . Depois de descobrir que as configurações importantes estão um pouco ocultas no painel esquerdo rolável, tudo está bem. Não tenho certeza se isso atende a todos os casos de uso de OPs, mas talvez você não precise examinar as peculiaridades de interface do usuário do imagemagick ou phatch.
Estranhamente, os pacotes de gerenciamento de fotos como digikam, f-spot, fotoxx ou shotwell não parecem reconhecer a necessidade de copiar / redimensionar lotes de imagens antes de fazer o upload para serviços on-line como o photobucket ou o flickr (gag). Esses serviços querem que façamos coisas apenas do jeito deles , por isso não confio neles para fazer o backup de originais.

    
por Mike 20.05.2015 / 04:44