Como cortar automaticamente imagens digitalizadas usando imagemagick ou graphicsmagick?

Como cortar automaticamente imagens digitalizadas usando imagemagick ou graphicsmagick?

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

Quero cortar todas as bordas brancas usando imagemagick ou graphicsmagick (essas ferramentas, porque quero processá-las ainda mais em lote). Entendo que a borda é digitalizada, portanto não é perfeitamente branca e isso às vezes pode causar um corte excessivo ou insuficiente da imagem. No entanto, usando o parâmetro trim com fuzz, sempre consigo uma imagem muito grande. 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.

Você poderia testá-lo e informar a linha de comando que fará o trabalho?

insira a descrição da imagem aqui

Responder1

No ImageMagick tente este comando:

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

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

saída

informação relacionada