【问题标题】:Sliced tiff image gets bigger with python Wand使用 python Wand 切片的 tiff 图像变得更大
【发布时间】:2016-03-19 01:08:49
【问题描述】:

我有一个 .tif 文件,它有 10 页。我想创建一个仅包含第 2-7 页的子图像,但生成的文件比原始文件大得多。它应该更小。你有什么建议?这是我的代码:

from wand.image import Image

with Image(filename='test.tif') as original:
    with Image() as sub_image:
        sub_image.sequence.extend(original.sequence[2:7])
        sub_image.save(filename='sub.tif')

原件:3mb

子:50mb (!)

编辑:这里是一个示例源文件:tif file

【问题讨论】:

  • 能否链接到图片文件以便测试代码?
  • 我刚刚在我周围的一个 tiff 文件上进行了测试:原始文件 = 881K,子文件 = 442K。原始使用什么编码?也许wand 保存时没有压缩而原始使用例如JPEG 还是 LZW?
  • 很抱歉我无法发布图片,因为它包含敏感信息。然而,它是从办公室打印机扫描的 10 个 A4 页。根据你所说的,我试图输出 original.compression,它给了我'group4'。但是,sub_image 具有相同的压缩。也许我可以扫描其他东西并发布 tif 文件。
  • 我刚刚添加了一个样本扫描,你可以试试。
  • 现在我得到了 3.0M Original 和 3.6M sub.tif.. 所以没有那么激烈但仍然很奇怪......让我看看我能不能找出原因......

标签: python wand


【解决方案1】:

TIFF 文件中有很多内容。在命令行中尝试以下操作。

convert 'test.tif[2-7]' \
        -define 'tiff:rows-per-strip=3504' \
        -colorspace YCBCR \
        -alpha remove \
        -auto-level \
        -compress JPEG \
        -endian LSB \
        -depth 8 \
        output.tif

以上所有选项都与原始文件匹配,rows-per-strip 除外。原文档有rows-per-strip的3507;这不是 8 的倍数(不知道会产生什么影响)。

支持大多数选项,并且应该在您的调用脚本中实现/尊重。

对于-define 'tiff:rows-per-strip=3504',请参阅this answer

【讨论】:

    猜你喜欢
    • 2020-02-09
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    相关资源
    最近更新 更多