Imagemagick redimensionar

5

Estou familiarizado com convert -resize % para diminuir um tamanho por porcentagem, mas qual é o comando para aumentar uma imagem de 700 pixels para 800 pixels? A largura horizontal também deve ser redimensionada. Preciso preservar a qualidade geral e a aparência da imagem da melhor forma possível.

EDITAR:

mogrify -resize geometry

parece ser o que preciso para redimensionar as imagens. Link para o artigo para a próxima pessoa tentando descobrir como redimensionar.

    
por DᴀʀᴛʜVᴀᴅᴇʀ 10.12.2012 / 16:59

2 respostas

1

convert -resize $((800/7))%

ou

convert -resize 114.28571%

faria o redimensionamento. Quanto ao controle da qualidade da imagem, você pode querer verificar as opções -filter e -support .

    
por 11.12.2012 / 00:06
1

O do O ImageMagic convert option -resize tem um argumento geometry com a poderosa sintaxe (veja abaixo) para expressar a relação desejada de dimensões de imagens antigas e novas.

Para redimensionar uma dimensão para um valor explícito e redimensionar a outra dimensão pelo mesmo fator, mantendo a proporção, você pode deixar de fora um dos valores no formato normal 950x700 specification desta forma: 950 para especificando largura, ou x700 para altura.

convert in.jpg -resize x700 out.jpg

deve fazer o que você precisa.

Em relação à obtenção da melhor saída possível, o maior fator deve ser recomprimir a imagem. Se você gerar uma imagem JPEG, ela será compactada de maneira um pouco diferente da anterior, mesmo com as mesmas opções de compactação e o mesmo software (caso contrário, pode ser uma diferença maior).

Os padrões para -resize são muito bons, ao contrário de muitos outros softwares. Você deve apenas deixá-los sozinhos.

Para as opções de ajuste fino que afetam a etapa de filtro do redimensionamento, discordo da resposta de @peterph, não acho que ajudaria a experimentar as opções -filter e -define filter:support=... :

Você pode quebrar muitas coisas, enquanto é difícil dizer o que mudou. Redimensionar e filtrar de uma maneira ideal envolve muito mais matemática do que se poderia esperar, portanto, a menos que você tenha um mestrado em matemática, aconselho não ajustar as opções de redimensionamento. (Mas note que pode ser uma boa ideia em outro lugar: vi a Adobe errando).

Assumi que estamos falando de fotos fotográficas tiradas com uma câmera física do mundo real. Se for outra coisa, como um desenho de linha ou uma cena de gráficos 3D, o redimensionamento "correto" pode não ser o que você precisa; Pode haver maneiras especiais de redimensionar para algumas situações.


Sintaxe do argumento para -resize geometry , de www.imagemagick.org :

size               General description (actual behavior can vary for different options and settings)

scale%             Height and width both scaled by specified percentage.
scale-x%xscale-y%  Height and width individually scaled by specified percentages. (Only one % symbol needed.)
width              Width given, height automagically selected to preserve aspect ratio.
xheight            Height given, width automagically selected to preserve aspect ratio.
widthxheight       Maximum values of height and width given, aspect ratio preserved.
widthxheight^      Minimum values of width and height given, aspect ratio preserved.
widthxheight!      Width and height emphatically given, original aspect ratio ignored.
widthxheight>      Shrinks an image with dimension(s) larger than the corresponding width and/or height argument(s).
widthxheight<      Enlarges an image with dimension(s) smaller than the corresponding width and/or height argument(s).
area@              Resize image to have specified area in pixels. Aspect ratio is preserved.
    
por 26.10.2014 / 02:31