organizando imagens por resolução com arquivos em lote [fechado]

0

Fazendo algumas pesquisas, estou tentando descobrir uma solução de linha de comando para organizar arquivos muito grandes de imagens com base em sua resolução em pastas, 1920x1080, 1600x1200, 1600x900, etc.

Eu me deparei com alguns posts no Superusuário mencionando algo chamado ImageMagick, esse é o melhor método para a loucura que estou tentando realizar? Eu nunca usei nenhuma função de linha de comando / applets / ferramentas além daquelas que vêm da Microsoft.

Sou bastante novo para o uso de linha de comando, mas tenho curtido muito usando Powershell, xcopy e robocopy.

Eu estou lentamente tentando me aprofundar no mundo do Linux com o Ubuntu rodando em uma das minhas máquinas físicas, assim como uma máquina virtual, então também é uma opção.

    
por Anthony 12.11.2013 / 16:59

1 resposta

1

Sim, o Imagemagick é o caminho a seguir. Você precisará ler a documentação, porque é um pacote muito poderoso, mas ajudarei você a começar. O comando identify é o que você está procurando. Novamente, observe os documentos, mas essas opções imprimirão o nome e a resolução do arquivo em uma imagem ( %f imprime o nome do arquivo, %w e %h imprimem a largura e a altura em pixels):

identify -format "%f %wx%h" SampleImage.png

Saída: SampleImage.png 1024x1024

Se você tivesse uma pasta cheia de imagens jpeg, você poderia gerar um arquivo com o nome da imagem e resoluções de todos os jpegs com este comando (no Windows):

for %i in (*.jpg) do identify -format "%f %wx%h\n" "%i" >> resolutions.txt

O \n é adicionado para forçar uma nova linha entre os nomes das imagens, senão tudo acaba em uma linha.

Isso é só o começo. O método que você usa para agrupar e movê-los também será um problema interessante.

Editar: Uma opção que você pode usar para organizar o arquivo é adicionar a resolução ao nome. O identify -format pode ser usado para criar um arquivo em lote para renomear as imagens:

 for %i in (*.jpg) do identify -format "ren ""%f"" ""%wx%h-%f""\n" "%i" >> renImages.cmd

O conteúdo do arquivo resultante ficará assim:

ren "Sample Image.jpg" "1024x1024-Sample Image.jpg"
ren "Sample2.jpg" "1024x512-Sample2.jpg"
...

Execute o renImages.cmd no prompt para renomear todas as imagens e, em seguida, você pode apenas classificar e agrupar as imagens da maneira que quiser.

    
por 12.11.2013 / 20:02