Как я могу преобразовать фотографию JPEG в черно-белое (не в градациях серого) изображение, как на выходе сканера факса, с помощью ImageMagick?
4 ответа
Согласно этому сообщению на форуме:
Однако, если вы хотите использовать только два цвета (черный и белый), вам нужно пороговое значение. Например, чтобы выбрать цвет, где вверху будет белый, а внизу черный.
convert <input> -threshold xx% <output>
где хх находится в диапазоне 0-100 (для процентов).
Дизеринг более четкий и похожий на факс, чем пороговое ограничение:
convert <input> -monochrome <output>
Для менее контрастного, но более сохраняющего информацию вида размывания используйте:
convert <input> -remap pattern:gray50 <output>
Согласно этому ответу здесь:
Если у вас установлен imagemagick:
только истинная градация серого:
convert source.jpg -colorspace Grey destination.jpg
правда черный и белый:
convert source.jpg -monochrome destination.jpg
разделить на серые каналы:
convert source.jpg -separate destination.jpg
Я считаю, что pamthreshold от Netpbm является гораздо более быстрым и гибким решением.
Для файлов TIFF я делаю
$ tifftopnm test.tiff | pamthreshold | pamtotiff > bitonal.tiff
Для файлов JPEG вы можете сделать
$ jpegtopnm test.jpeg | pamthreshold | pamtotiff > bitonal.tiff
Pamthreshold довольно мощный (посмотрите на его man-страницу).