我的朋友有一张中文手写的彩色图像(基本上是通过拍照或扫描他在一张白纸上写的内容),他希望我将其转换为黑白二值图像。Ubuntu 下有没有可以做到这一点的应用程序?
这是一个示例图像:

use*_*ser 30
您想要的在图像处理中被称为“阈值”。基本上,它将图像作为输入并输出一个图像,其中所有像素值低于给定阈值的像素设置为黑色,所有像素值高于阈值的像素设置为白色。这导致来自任意输入图像的黑白图像。
通常,您希望先转换为灰度以获得更可预测的结果,但也可以对全彩色图像进行阈值处理。
您可以使用诸如 GIMP 之类的图形工具以交互方式执行此操作(您可以通过主菜单 -> 颜色 -> 阈值找到该工具),或者您可以使用 ImageMagick 像这样:
convert colored.png -threshold 75% thres_colored.png
Run Code Online (Sandbox Code Playgroud)
在示例图像上运行上述命令会产生如下所示的结果。

由于阈值通常是一个反复试验的过程,以获得您满意的结果,特别是如果源图像不是非常接近黑白,我建议尽可能使用 GUI 方法,但如果无论出于何种原因,这都不是一个选项,您也可以通过命令行执行此操作。为了更好地控制输出,您可以先使用颜色曲线、色阶和对比度等工具在阈值化之前更好地隔离图像的明暗部分。(实际上,可以将阈值视为使用颜色曲线工具的极端情况。)
您可以使用 Imagemagick:
convert test.png -colorspace Gray gray_colorspace.png
Run Code Online (Sandbox Code Playgroud)
从这里开始。
这是我应用到你的形象后得到的:

图像魔术师 convert -monochrome
该-monochrome选项使用一些聪明的抖动,使输出要比更明显-threshold,如果你想让它供人食用:
convert -monochrome signature.png out.png
Run Code Online (Sandbox Code Playgroud)
对于这样一个简单的图像并没有太大的区别,但对于较大的图像,它是惊人的: