Как автоматически обрезать отсканированные изображения с помощью imagemagick или graphicsmagick?
У меня есть отсканированные изображения в формате *.jpg. Они сканируются с использованием сканера А4, в оттенках серого или в цвете. Отсканированные страницы имеют очень разные размеры - некоторые A5, некоторые A6, некоторые визитные карточки и т. Д. Крышка сканера белая.
Я хочу обрезать все белые границы, используя imagemagick или graphicsmagick (эти инструменты, потому что я хочу для дальнейшей пакетной обработки). Я понимаю, что граница отсканирована, поэтому не идеально белая, и это иногда может привести к обрезке слишком много или слишком мало изображения. Однако, используя параметр обрезки с fuzz, я всегда получаю слишком большое изображение. Например, используя изображение визитной карточки ниже:
gm.exe convert -crop -fuzz 50% 01-pixelated.jpg 01-pixelated-gm.jpg
производит изображение, которое все еще не вырезано справа и снизу. Результат один и тот же, независимо от того, какое число я указывал в параметре -fuzz.
Не могли бы вы проверить это и посоветовать командную строку, которая будет делать эту работу?
1 ответ
В ImageMagick попробуйте эту команду:
convert input.jpg -fuzz 80% -trim +repage output.jpg
Я протестировал его с помощью ImageMagick 6.4.4 Q16 и, исходя из изображения, которое вы связали, я получил следующее изображение: