我扫描了很多文本页面(白色背景上的黑色文本)。

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

这使所有的灰色文本都变黑,加上使文本更清晰,并使大多数发白的像素变成纯白色。

如何在使用ImageMagick或完全从命令行运行的其他Linux工具的脚本中实现相同的效果?
-normalize-contrast-stretch不起作用,因为它们使用像素计数进行操作。我需要一个运算符,它可以使0-63(灰度)的颜色变成黑色,所有高于224的纯白色,其余的都应该归一化。

最佳答案

The Color Modifications page显示了ImageMagick的许多颜色处理算法。

在这种特定情况下,两种算法很有趣:

  • -level
  • -sigmoidal-contrast
  • -level在曲线的两端附近为您提供完美的黑白像素,并在它们之间形成线性分布。

    S形选项在两个极端之间创建更平滑的曲线,这对于彩色照片更有效。

    为了获得类似于GIMP的结果,您可以尝试一个接一个地应用(使文本和黑色区域真正变黑)。

    在所有情况下,您都需要先运行-normalize(或什至-contrast-stretch来合并大部分噪声),以确保不会浪费黑/白电平。没有这个,最暗的颜色可能会比rgb(0,0,0)浅,最亮的颜色可能会低于纯白色。

    10-05 20:31
    查看更多