Como recortar automaticamente as imagens digitalizadas usando imagemagick ou graphicsmagick?

10

Eu tenho algumas imagens digitalizadas no formato * .jpg. Eles são digitalizados usando scanner A4, em escala de cinza ou em cores. As páginas digitalizadas têm dimensões muito diferentes - algumas A5, algumas A6, alguns cartões de visita, etc. A capa do scanner é branca.

Eu quero cortar todas as bordas brancas usando imagemagick ou graphicsmagick (essas ferramentas, porque quero processá-las ainda mais em lote). Eu entendo que a borda é digitalizada, portanto, não perfeitamente branco e que às vezes pode causar corte muito ou muito menos da imagem. No entanto, usando parâmetro trim com fuzz eu sempre fico muito grande imagem. Por exemplo, usando a imagem do cartão de visita abaixo:

gm.exe convert -crop -fuzz 50% 01-pixelated.jpg 01-pixelated-gm.jpg

produz uma imagem que ainda não foi cortada da direita e da parte inferior. O resultado é o mesmo, não importa o número que eu coloquei no parâmetro -fuzz.

Poderia, por favor, testá-lo e avisar a linha de comando que fará o trabalho?

    
por Arek 04.10.2013 / 23:07

1 resposta

8

No ImageMagick, tente este comando:

convert input.jpg -fuzz 80% -trim +repage output.jpg

Eu testei com o ImageMagick 6.4.4 Q16 e, a partir da imagem que você vinculou, obtive esta imagem de saída:

    
por 15.11.2013 / 17:04