Как преобразовать фотографию в черно-белое изображение с помощью ImageMagick?

14

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

ohho
источник
unix.stackexchange.com/questions/108613/…
Сиро Сантилли 新疆 '中心 法轮功 六四 事件
Не требуется ImageMagick: superuser.com/questions/75373/…
Сиро Сантилли,

Ответы:

11

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

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

convert <input> -threshold xx% <output>

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

Der Hochstapler
источник
8

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

convert <input> -monochrome <output>

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

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

(Документы)

hemflit
источник
1
Обратите внимание, что если выходные данные выглядят низкокачественными, вам может потребоваться установить более высокую плотность с помощью флага -density 150(значение 150 - это число точек на дюйм)
Дэвид Фрейзер
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-страницу).

Максим
источник