Wand 输出太多图像

Wand Outputs Too Many Images

所以我对 python 总体来说还比较缺乏经验,而且对 ImageMagick 和 Wand 还是全新的,但是,到目前为止,这些工具已经完成了我需要的 95%,这意味着我节省了很多时间我正在从事的项目的长期。

我只是获取一个图像文件夹,将它们从 .tiff 转换为 .png,然后将它们保存到一个子文件夹中。看起来很简单,对吧?下面的代码正在运行:

# Import os functions for setting path and getting files from directory
import os

# Import Wand functions to get the image and the required colors to convert
from wand.image import Image
from wand.color import Color

# Set the path where the images are being held
sourcePath = '/somePath/'
destinationPath = '/somePath/batch/'

# Set the image extenion we want to process and convert to
sourceExt = 'tiff'
destinationExt = 'png'

# Use os to get all files held in that directory
files = os.listdir(sourcePath)

# Loop through every file
for file in files:

    # Get the current image file's name and extension
    filename, file_extension = os.path.splitext(sourcePath + file)
    print('Filename: ' + filename)
    print('File extension: ' + file_extension)

    updatedFilename = filename.replace(sourcePath, '')

    # Only process for images with the .tiff extension
    if file_extension == ('.' + sourceExt):

        with Image(filename=filename + file_extension) as img:
            img.format = 'png'
            with Color('#FFFFFF') as white:
                img.transparent_color(white, alpha=0.0)
            img.save(filename=destinationPath + updatedFilename + '.' + destinationExt)

总的来说,代码运行良好,输出我的输入文件的 .png 版本,去除了白色背景。

但是,我输入了 80 张图像,输出总共有 712 张图像。 Wand 是否有什么特别的原因导致了这个问题,或者是我在 python 中的循环?

我的 .tiff 文件是秘密的多页文件,我得到了所有页面,而不仅仅是第一页。我通过以更受支持的 .png 格式导出我的图像意外地解决了这个问题(我的转储图像不再有背景被剥离的额外好处)但这非常有帮助。