使用 +level ImageMagick 运算符 (https://imagemagick.org/script/command-line-options.php#level https://imagemagick.org/script/command-line-options.php#level)在命令行中将生成一个输出图像,其中输入图像的通道值压缩到指定的范围。
例如,以下 ImageMagick 命令将导致输出像素强度值出现在总像素值范围的 45% 到 70% 之间。
magick 输入.jpg +级别 45%,70% 输出.jpg
如何在 Wand 中执行 +level ImageMagick 操作?
wand.image.BaseImage.level() (http://docs.wand-py.org/en/0.5.1/wand/image.html#wand.image.BaseImage.level http://docs.wand-py.org/en/0.5.1/wand/image.html#wand.image.BaseImage.level)似乎执行 -level ImageMagick 操作。
如指定https://imagemagick.org/script/command-line-options.php#level https://imagemagick.org/script/command-line-options.php#level,-level 和 +level ImageMagick 运算符之间存在密切关系。
我不知道如何在 Wand 中执行 +level ImageMagick 操作。
有人可以阐明这一点吗?
抱歉,我不太了解 Wand 语法。也许有人可以添加到这个答案或发布另一个提供正确语法的答案。
但你可以使用魔杖实现相当于+level的效果function
带参数的命令polynomial
,其中多项式参数等价于方程a*x+b
. See http://docs.wand-py.org/en/0.5.1/wand/image.html http://docs.wand-py.org/en/0.5.1/wand/image.html.
您必须根据您的值和以下方程计算 a 和 b,以达到 +level 的等效效果。
a*X+b = Y
当X=0时,则Y=0.45。
当X=1时,则y=0.70。
所以我们有两个线性方程需要求解。
0*a+b=0.45
1*a+b=0.70
从上面的方程,你有
b=0.45
将b代入下面的方程可得
a+0.45=0.70 --> a=0.25
在 ImageMagick 中,您可以使用
convert image.suffix -function polynomial "0.45, 0.25" result.suffix
See https://imagemagick.org/Usage/transform/#function_polynomial https://imagemagick.org/Usage/transform/#function_polynomial
在 Wand 函数中,您需要选择多项式,然后提供上面的 a 和 b 值。
对魔杖的猜测function
语法类似于:
from wand.image import Image
with Image(filename='yourimage.suffix') as img:
a = 0.25
b = 0.45
img.function('polynomial', [a, b])
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)