Existe uma maneira de ver as dimensões de um arquivo jpeg no linux usando a linha de comando?

2

Eu tenho algumas imagens .jpeg salvas em um arquivo em um cluster na escola. Eu estou em casa usando o PuTTY para acessar um dos nós do Debian. Consigo chegar à pasta com todas as imagens, mas preciso ver as dimensões de cada uma delas para executar mais uma computação nelas. Existe uma maneira de fazer isso?

De acordo com uma das regras fundamentais de pedir ajuda na programação de computadores, devo ilustrar meu objetivo final. O objetivo era pegar uma imagem de entrada e realizar uma decomposição de valores singular para ver o que acontece quando truncamos a imagem. Com quantidades menores de valores singulares usados, as imagens resultantes estavam borradas. Agora preciso determinar a taxa de compactação para cada imagem (proporção de saída para o tamanho do arquivo de imagem de entrada). Minha intenção era olhar para as dimensões de cada imagem resultante e dividir a nova largura pela largura original e nova altura pela altura original. Se alguém souber uma maneira melhor de fazer isso, sou todo ouvidos:)

Observação: não tenho privilégio de sudo porque é um computador universitário, não é meu.

    
por whatwhatwhat 29.04.2016 / 04:08

3 respostas

2

Existem várias ferramentas que farão isso:

Se estes programas não estiverem instalados, note que tanto o jpeg como o jpeginfo são bastante simples e presumir que um compilador está disponível será fácil de construir na sua própria conta de usuário.

    
por 29.04.2016 / 04:19
4

Só posso abordar a primeira parte da sua pergunta: você pode visualizar as dimensões de uma imagem na linha de comando usando a ferramenta identify , parte do imagemagick pacote strong. (Para instalar o imagemagick em uma caixa Debian, desde que você tenha privilégios sudo, você pode executar sudo apt-get install imagemagick ).

Por exemplo, em um diretório com o arquivo de imagem rose.jpg, a execução identify rose.jpg produzirá um resultado como:

rose.jpg JPEG 70x46 70x46+0+0 8-bit sRGB 2.36KB 0.000u 0:00.000

, que mostra que as dimensões da imagem são de 70 px x 46 px.

Você pode obter ainda mais informações sobre a imagem usando a opção -verbose , por exemplo identify -verbose rose.jpg

Você pode ver a documentação da ferramenta de identificação aqui: link

    
por 29.04.2016 / 04:19
2

Você pode usar o comando file e, g:

file images.jpg

a saída é algo como:

images.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 
1x1, segment length 16, baseline, precision 8, 342x147, frames 3

OR

rdjpgcom -verbose images.jpg

exemplo de saída

JPEG image is 342w * 147h, 3 color components, 8 bits per sample
JPEG process: Baseline
    
por 30.04.2016 / 00:53