
У меня есть несколько отсканированных изображений в формате *.jpg. Они отсканированы с помощью сканера A4, в оттенках серого или в цвете. Отсканированные страницы имеют очень разные размеры - некоторые 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 и, взяв за основу изображение, на которое вы ссылаетесь, я получил следующее выходное изображение: