我可以在 imagemagick 中保留色相的同时设置饱和度和亮度吗?

Can I set saturation and luminosity while preserving hue in imagemagick?

我正在尝试将图像的饱和度和亮度通道设置为固定值(100% 饱和度,75% 亮度)。

关注 this 我想我会使用评估 - 这工作正常:

convert input.png -colorspace HSL \
          -channel B -evaluate multiply 0.80 \
          -channel G -evaluate multiply 1.20 \
          output.png

但是这样做:

convert input.png -colorspace HSL \
         -channel G -evaluate set 100 \ 
         -channel B -evaluate set 50 \
          output.png

生成黑色图像。

我做错了什么?

What am I doing wrong?

您将通道数据设置为特定的量子值。如果您使用 ImageMagick Q16,则 100 的量子值约为 1.5%。

确保值以“%”结尾

convert input.png -colorspace HSL \
         -channel G -evaluate set 100% \ 
         -channel B -evaluate set 50% \
         output.png

@emcconville 是正确的。但我还要补充一件事。也许您还想转换回 sRGB 色彩空间。所以

convert lena.png -colorspace HSL \
-channel G -evaluate set 100% +channel \
-channel B -evaluate set 50% +channel \
-colorspace sRGB output2.png