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