使用 ImageMagick 清理扫描的灰度图像

问题描述 投票:0回答:2

我有很多文本页面的扫描件(白底黑字)。

我通常的方法是使用“曲线”对话框清理 Gimp 中的那些,使用一条非常简单的曲线,只有四个点:0,0 - 63,0 - 224,255, 255,255

这使得所有灰色文本变成黑色,并且使文本变得更清晰,并将大部分白色像素变成纯白色。

如何使用 ImageMagick 或其他完全从命令行运行的 Linux 工具在脚本中实现相同的效果?

-normalize
-contrast-stretch
不起作用,因为它们使用像素计数进行操作。我需要一个运算符,它可以使颜色 0-63(灰度)变黑,所有高于 224 的纯白色,其余的应该标准化。

image-processing imagemagick image-scanner
2个回答
7
投票

颜色修改页面显示了ImageMagick的许多颜色操作算法。

在这个具体案例中,有两种算法很有趣:

-level
为您提供靠近曲线末端的完美黑/白像素以及两者之间的线性分布。

S 形选项可在极值之间创建更平滑的曲线,这对于彩色照片效果更好。

要获得与 GIMP 类似的结果,您可以尝试依次应用(使文本和黑色区域真正变黑)。

在所有情况下,您都需要先运行

-normalize
(甚至运行 -contrast-stretch 来合并大部分噪声),以确保没有浪费黑/白级别。如果没有这个,最暗的颜色可能会比
rgb(0,0,0)
更亮,而最亮的颜色可能会低于纯白色。


0
投票

[magick-users] ImageMagick 中的曲线

该存档消息中的第一个链接是一个 shell 脚本,我认为它可以满足您的需求。

© www.soinside.com 2019 - 2024. All rights reserved.