Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python魔杖,切片tiff图像变得更大_Python_Wand - Fatal编程技术网

使用python魔杖,切片tiff图像变得更大

使用python魔杖,切片tiff图像变得更大,python,wand,Python,Wand,我有一个.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_ima

我有一个.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(!)


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

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
以上所有选项均与原始文件匹配,每个条带的
行除外
。原始文档的每条带的
行数为3507;这不是8的倍数(不知道会有什么影响)

大多数选项都由调用脚本支持,并且应该在调用脚本中实现/遵守


对于
-定义'tiff:rows per strip=3504'
,请参阅。

您可以链接到图像文件以便测试代码吗?我刚刚在一个tiff文件上测试了这一点:original=881K,sub=442K。原始版本使用什么编码?可能是
wand
未经压缩就保存了原始图像,例如JPEG或LZW?很抱歉,我无法发布图片,因为它包含敏感信息。但是,它是从办公室打印机扫描的10张A4纸。根据你说的,我试着输出original.compression,它给了我“group4”。但是,sub_图像具有相同的压缩。也许我可以扫描其他内容并发布tif文件。我刚刚添加了一个扫描示例,您可以尝试使用。现在我得到了3.0M原件和3.6M sub.tif。。所以没有那么激烈但仍然很奇怪。。。让我看看我能不能找到原因。。。