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

时间:2015-02-19 10:19:48

标签: python imagemagick wand

使用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")

它的图像非常明亮,几乎是白色的,保留了很少的轮廓。它看起来类似于亮度变为最大值。结果与console命令完全不同 convert img.jpg -sepia-tone 80% out.jpg

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

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

1 个答案:

答案 0 :(得分:1)

请记住,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")