Python 魔杖将 tiff 更改为 min-is-white

Python Wand change tiff to min-is-white

我需要将文件转换为 tiff,其中光度设置为 "min-is-white"(白色为零)以符合要求的标准。我正在使用 Wand 与 Photomagick 交互,但每次我保存一个双层 tiff 文件时,它都会创建一个 min-is-black。

我怎样才能让魔杖把它保存在白为零的地方?有可能吗?

马克的评论是正确的。您需要为 ImageMagick 设置 -define 属性。

对于 ,您必须扩展核心 wand.api.library 才能连接 MagickWand 的 C-API MagickSetOption 方法。

from ctypes import c_void_p, c_char_p
from wand.api import library
from wand.image import Image

# Tell python about the MagickSetOption method
library.MagickSetOption.argtypes = [c_void_p,  # MagickWand * wand
                                    c_char_p,  # const char * option
                                    c_char_p]  # const char * value

# Read source image
with Image(filename="/path/to/source.tiff") as image:
    # -define quantum:polarity=min-is-white
    library.MagickSetOption(image.wand,          # MagickWand
                            "quantum:polarity",  # option
                            "min-is-white")      # value
    # Write min-is-white image
    image.save(filename="/path/to/min-is-white.tiff")

您可以使用 identify 实用程序验证生成的图像。

identify -verbose /path/to/min-is-white.tiff | grep photometric
#=> tiff:photometric: min-is-white