5

我需要减小彩色扫描的文件大小。

到目前为止,我认为应该采取以下步骤:

  • 选择性模糊(或类似)以减少噪音
  • 缩放至 ~120dpi
  • 减少颜色

到目前为止,我们使用 convert (imagemagick) 和 net-ppm 工具。

扫描件是发票,不是照片。

任何提示表示赞赏。

更新

例子:

赏金

具有可复制解决方案的 example.png 的最小且可读性好的缩减文件获得了赏金。该解决方案只需要使用开源软件。

文件格式不重要,只要能重新转成PNG即可。处理时间并不重要。我可以稍后优化。

更新

我在黑白输出上得到了非常好的结果(谢谢)。颜色减少到大约 16 或 32 种颜色会很有趣。

4

3 回答 3

4

这是一个相当开放的问题,因为在图像质量和图像大小之间仍有可能调整的空间......毕竟,将其设为黑白并使用 CCITT T.6 黑白(传真式)压缩进行压缩如果不是所有具有颜色功能的压缩算法,也可以击败大多数裤子。

如果你愿意去黑白(不是灰度),那就去做吧!它使文档非常小。

否则,我建议使用一系列次要图像转换和自适应预测树(参见此处)。APT 软件包是开源或公共领域的,非常易于编译和使用。它的优点是它在各种图像类型(尤其是文本)上表现良好,它可以让您更好地缩放图像大小与图像质量,而不会失去可读性。(我发现自己在可读性阈值上将 example_1000 大小的彩色版本压缩到 48KB,而 64K 具有明显的伪影但易于阅读。)

我将 APT 与 imagemagick 调整组合:

convert example.png -resize 50% -selective-blur 0x4+10% -brightness-contrast -5x30 -resize 80% example.ppm
./capt example.ppm example.apt 20  # The 20 means quality in the range [0,100]

并扭转这个过程

./dapt example.apt out_example.ppm
convert out_example.ppm out_example.png

要解释 imagemagick 设置:

  • -resize 50%将其缩小一半以加快处理速度。还隐藏了一些打印和扫描伪影。
  • -selective-blur 0x4+10%:锐化实际上会产生更多噪点。您真正想要的是选择性模糊(如在 Photoshop 中),当没有“边缘”时会模糊。
  • -brightness-contrast -5x30:这里我们将对比度提高一点,以剪裁由页面轮廓引起的不良着色(导致可压缩数据较少)。我们还稍微变暗以使黑色更黑。
  • -resize 80%最后,我们将大小调整为比您的 example_1000 图像大小大一点。(足够接近。)这也减少了明显伪影的数量,因为当像素合并在一起时它们有些隐藏。

此时,您将在此示例中获得精美的图像——漂亮、平滑的颜色和清晰的文本。然后我们压缩。20 的质量值是一个相当低的设置,看起来不再那么漂亮,但文档非常清晰。即使质量值为 0,它仍然大部分是清晰的。

同样,使用 ADT 不一定会为该图像带来最佳效果,但它不会在渐变等类似摄影的内容上变成完全无法识别的混乱,因此应该更好地覆盖更多类型或意想不到的内容文件类型。

结果: 88kb 76kb 64kb 48kb

压缩前处理的图像

于 2012-02-02T16:57:39.663 回答
4

如果您真的不在乎颜色的数量,我们还不如去黑白并使用双层编码器。我最终使用了 DJVU 格式,因为它与 JBIG2 相媲美并且具有开源编码器。在这种情况下,我使用了didjvu编码器,因为它取得了最好的结果。(在 Ubuntu 上,您可以 apt-get install didjvu,也许在其他发行版上也是如此。)

我最终得到的魔法看起来像这样编码:

convert example.png -resize 50% -selective-blur 0x4+10% -normalize -brightness-contrast -20x100 -dither none -type bilevel example_djvu.pgm
didjvu encode -o example.djvu example_djvu.pgm --lossless

请注意,这实际上是在全分辨率下优于 0x2+10% 的颜色模糊——这最终将使想象在转换为双层图像之前与想象的一样好。

解码工作如下:

convert example.djvu out_example.png

即使使用更大的分辨率(更容易阅读),大小也只有 24KB。当缩小到相同大小时,它仍然是 24KB!最后,只有 75% 的原始图像缩小和 0x5+10% 的模糊,它的权重为 32KB。

有关视觉结果,请参见此处:http: //img29.imageshack.us/img29/687/exampledjvu.png

于 2012-02-03T01:19:30.947 回答
2

如果您已经使用 Imagemagick 实用程序“convert”让它做正确的事情,那么首先查看 Imagemagick 库可能是个好主意。

快速查看我的 Ubuntu 软件包列表显示了 perl、python、ruby、c++ 和 java 的绑定

于 2012-01-25T08:21:30.413 回答