13

Как я могу преобразовать фотографию JPEG в черно-белое (не в градациях серого) изображение, как на выходе сканера факса, с помощью ImageMagick?

4 ответа4

11

Согласно этому сообщению на форуме:

Однако, если вы хотите использовать только два цвета (черный и белый), вам нужно пороговое значение. Например, чтобы выбрать цвет, где вверху будет белый, а внизу черный.

convert <input> -threshold xx% <output>

где хх находится в диапазоне 0-100 (для процентов).

7

Дизеринг более четкий и похожий на факс, чем пороговое ограничение:

convert <input> -monochrome <output>

Для менее контрастного, но более сохраняющего информацию вида размывания используйте:

convert <input> -remap pattern:gray50 <output>

(Документы)

4

Согласно этому ответу здесь:

Если у вас установлен imagemagick:

только истинная градация серого:

convert source.jpg -colorspace Grey destination.jpg

правда черный и белый:

convert source.jpg -monochrome destination.jpg

разделить на серые каналы:

convert source.jpg -separate destination.jpg

0

Я считаю, что pamthreshold от Netpbm является гораздо более быстрым и гибким решением.

Для файлов TIFF я делаю

 $ tifftopnm test.tiff | pamthreshold | pamtotiff > bitonal.tiff

Для файлов JPEG вы можете сделать

$ jpegtopnm test.jpeg | pamthreshold | pamtotiff > bitonal.tiff

Pamthreshold довольно мощный (посмотрите на его man-страницу).

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