通过 wand api 的棕褐色调(使用 wand-py)产生完全错误的图像(没有棕褐色,高亮度)

Sepia tone via wand api (using wand-py) produces completely wrong image (no sepia, high brightness)

我使用 wand-py 注册了 MagickSepiaToneImage http://www.imagemagick.org/api/magick-image.php#MagickSepiaToneImage 然后应用于图像

from wand.image import Image
from wand.api import library

library.MagickSepiaToneImage.argtypes = [ctypes.c_void_p, ctypes.c_double]
library.MagickSepiaToneImage.restype = None

img = Image(filename="img.jpg")
library.MagickSepiaToneImage(img.wand, 80.0)
img.save(filename="out.jpg")

它真的很亮,几乎是白色的,几乎没有保留轮廓。它看起来类似于亮度更改为最大。结果与控制台命令完全不同 convert img.jpg -sepia-tone 80% out.jpg

更改阈值参数无效。它似乎只是被忽略了。 有一些基本的错误吗?因为我以类似的方式使用其他几种方法(例如 MagickModulateImage)没有问题。

(我的libmagickwand-dev库版本是8:6.7.7.10+dfsg-4ubuntu1)

请记住,80% 的阈值是 0 到 QuantumRange 之间的一个数字。

import ctypes
from wand.image import Image
from wand.api import library

library.MagickSepiaToneImage.argtypes = [ctypes.c_void_p, ctypes.c_double]
library.MagickSepiaToneImage.restype = None

img = Image(filename="img.jpg")
threshold = img.quantum_range * 0.8
library.MagickSepiaToneImage(img.wand, threshold)
img.save(filename="out.jpg")