3

Мне нужно сканировать множество мелких предметов с очень похожим, но не одинаковым размером.

Я подумал, что хотел бы сделать это:

Запустите инструмент командной строки linux с именем файла в качестве параметра, который запускает сканер примерно до 10% от всего размера сканера и обрезает изображение до содержимого, которое не является белым (квадрат будет в порядке).

Кто-нибудь знает, возможно ли это и когда как? Заранее спасибо!

2 ответа2

2

Что вам нужно, это convert из imagemagick. Сначала установите imagemagick для вашего дистрибутива. В производных системах Debian выполните эту команду:

sudo apt-get install imagemagick

Теперь, если вы просто хотите удалить пробелы, сделайте это:

for image in $(find . -name "*png" | sed 's/.png//'); do convert -trim $image.png $image_trimmed.png; done

Это предполагает, что ваши изображения являются PNG, если не измените вышеупомянутую строку соответственно.

Если вам нужно более удобное изменение размера, посмотрите документацию на imagemagick, вы можете делать с ней все, что только можете.

Итак, ваш фактический рабочий процесс будет:

  1. Сканируйте ваши изображения и сохраняйте их в одной папке.
  2. Запустите команду, которую я дал выше в этой папке.
1

Попробуйте добавить -fuzz:

-fuzz *distance*

Цвета на этом расстоянии считаются равными.

for image in $(find . -name "*png" | sed 's/.png//');
do convert -fuzz 255 -trim $image.png $image_trimmed.png; done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .