Como cortar uma imagem entre os 30% melhores no Unix?

15

Quero cortar 30% da parte superior da imagem. Conheço o tópico Como cortar uma imagem raster muito grande em pedaços menores? mas não existe uma abordagem bem-sucedida porque não consigo encontrar uma medida de distância de convertzero ao final , apenas pelas dimensões de valor absoluto. Pseudo-código

convert -crop-y -units-percentage 0x30 heart.png 

Fig. 1 Figura de entrada

insira a descrição da imagem aqui

Posso fazer a tarefa com o LaTeX, adjustboxmas a saída no arquivo pdf não é realmente o resultado final, mas uma apresentação. Portanto, copiar a imagem do documento pdf gera a imagem original. Portanto, essa abordagem falhou.

Léo Léopold Hertz 준영
fonte
1
Você pode usar o imagemagick identifypara ver o tamanho da imagem.
Pfnuesel 02/04
A abordagem geral é inserir o valor necessário na linha de comando usando $(command). Você só precisa escrever uma linha de comando que possa calcular o valor necessário. Aqui, você deve pedir ao convert para descrever a imagem e enviá-la para o awk, onde você pode combinar o valor necessário, fazer o cálculo necessário e imprimir o resultado.
Thorbjørn Ravn Andersen

Respostas:

23

Você pode cortar uma porcentagem da sua imagem , neste caso, para evitar a execução de comandos adicionais para obter a altura e a largura da imagem (para calcular o deslocamento de corte que, por padrão, é relativo ao canto superior esquerdo), você também precisará cortar em relação à gravidade (para que a posição de deslocamento do corte seja relativa ao canto inferior esquerdo da imagem):

convert -gravity SouthWest -crop 100x70%x+0+0 infile.jpg outfile.jpg
don_crissti
fonte
Confirmado, essa abordagem funciona! - - Você pode reverter essa abordagem, etc, NorthWestcortando de baixo. Ótimo!
Léo Léopold Hertz 준영
5

O comando deve ser:

convert heart.png -gravity south -crop 100x70% +repage heart-out.png
GAD3R
fonte
1
@ LéoLéopoldHertz 준영 eu entenda mal a pergunta, tentar a minha edição, por favor
GAD3R
1
Sua nova abordagem é cortada em unidades absolutas, não em porcentagens. Agora, a direção correta do corte a partir do topo.
Léo Léopold Hertz 준영 02/04