将扫描的文本转换为 1 位黑白图像时,可以在该过程中应用哪些过滤器来改善结果?现在我遇到了抖动错误使图像看起来很糟糕的问题。
更新:我认为试图撤消抖动是一个更难的问题。如何将第一张图像转换为单色图像?默认方法convert -monochrome img1 img2
如下所示。我还尝试了两步方法:1)减少深度(调色板)和伽玛 2)转换为双层图像(未显示)。我玩过的其他东西包括 imagemagick 的有序抖动(在各种设置下),但它不如两步法好。
将扫描的文本转换为 1 位黑白图像时,可以在该过程中应用哪些过滤器来改善结果?现在我遇到了抖动错误使图像看起来很糟糕的问题。
更新:我认为试图撤消抖动是一个更难的问题。如何将第一张图像转换为单色图像?默认方法convert -monochrome img1 img2
如下所示。我还尝试了两步方法:1)减少深度(调色板)和伽玛 2)转换为双层图像(未显示)。我玩过的其他东西包括 imagemagick 的有序抖动(在各种设置下),但它不如两步法好。
对于这种情况,我建议您上采样并应用轻微模糊然后锐化,然后应用阈值操作。您不会从像素数据中获得更多信息,它根本不存在。但是您将从阈值操作中获得更平滑的结果,并且您不需要抖动。最终结果就像复印机退化一样。
例子:
此外,当您使用更好的扩散抖动算法时,这就是它的样子;)
你正在看的是所谓的和un-dithering。从理论上讲,如果您想在抖动和打印之前重建精确的图像,则问题是不适定的。但是,可以在更宽的窗口(取决于抖动的量化量)上应用一些线性过滤。例如,在您的情况下,您可以收集 8x8 窗口的总分,并应用总和,以 0-256 的形式为您提供强度。
此处列出的论文是您确切问题的解决方案。
编辑:
好的,如果我明白了,因为您正在扫描图像而不是拍摄数字抖动图像,所以您的问题并不在于不抖动。我在您更新之前回答了第一部分。
好的,在这种情况下,我建议您可以有两个步骤。
找到一个最佳阈值将图像转换为双层图像。最好通过尝试在直方图中找到“白色和黑色强度之间的山谷”来完成此操作。有关阈值处理的基础知识,请参见此处。但可能您也尝试过此操作。
现在,您可能会看到某些边缘可能太薄或太厚,具体取决于噪声的类型。因此,为了重建更优化的图像,您可以通过 Dilation 和 Erosion 等操作应用形态学。