Як автоматично обрізати відскановані зображення за допомогою Imagemagick або graphicsmagick?


11

У мене є кілька відсканованих зображень у форматі * .jpg. Вони скануються за допомогою сканера формату A4 у відтінках сірого або кольору. Відскановані сторінки мають дуже різні розміри - деякі A5, деякі A6, деякі візитні картки тощо. Обкладинка сканера біла.

Я хочу обрізати всі білі межі за допомогою imagemagick або graphicsmagick (ці інструменти, тому що я хочу ще більше обробити пакетну обробку). Я розумію, що рамка відсканована, тому не ідеально біла і що іноді може спричинити обрізку занадто великої або занадто малої кількості зображення. Однак, використовуючи параметр обрізки з нечіткою я завжди отримую занадто велике зображення. Наприклад, використовуючи зображення візитної картки нижче:

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

створює зображення, яке досі не вирізане праворуч і знизу. Результат такий же, незалежно від того, яке число я ставлю до параметра -fuzz.

Не могли б ви протестувати його та порадити командний рядок, який буде виконувати цю роботу?

введіть тут опис зображення


Ви хочете обрізати право до країв тексту / вмісту або до країв аркуша паперу, залежно від того, якого розміру це (A4, A5, A6)? У вашому прикладі нижня межа картки зовсім не видно - я не знаю, як ви розраховуєте її виявити.
willus

Я хочу, щоб вона була підстрижена до країв вмісту.
Арек

Відповіді:


9

У ImageMagick спробуйте цю команду:

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

Я перевірив його за допомогою ImageMagick 6.4.4 Q16, і, виходячи із зображення, яке ви зв'язали, я отримав це вихідне зображення:

вихід


так очевидно, що я збігався -trim з -crop. Дякую!
Арек
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.