如何使用GraphicsMagick和Node.js编辑HDRI图像的曝光?

时间:2016-04-19 22:39:23

标签: node.js graphicsmagick

我安装了ImageMagick,支持HDRI图像。使用bash,可以使用以下命令以不同数量的“停止”保存图像(其中停靠点是曝光的度量):

stops=`convert xc: -format "%[fx:pow(2,-1)]"`
convert input.exr \
    -colorspace RGB \
    -function polynomial "$stops,0" \
    -gamma 1 \
    -colorspace sRGB \
    output-minus-one-stop.jpg

为了完成这个Node.js,需要进行一些翻译:

var stops = Math.pow(2, -1);
gm('input.exr').colorspace('RGB')
    .out(`function polynomial "${stops},0"`)
    .gamma(1, 1, 1)
    .colorspace('sRGB')
    .write('output-minus-one-stop.jpg', function(err){});

然而我收到错误:

Command failed: convert: unable to open image `function polynomial "0.25,0"': No such file or directory @ error/blob.c/OpenBlob/2702
convert: no decode delegate for this image format `25,0"' @ error/constitute.c/ReadImage/501

错误发生在这条线上:

.out(`function polynomial "${stops},0"`)

在此示例中格式化out命令的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我不说节点,但我对ImageMagick非常熟悉。

gm你看起来(对我来说)像 GraphicsMagick 而不是 ImageMagick (两者不同)我不认为 GraphicsMagick -function polynomial

你可以转向IM而不是GM吗?无论如何,我可能都错了 - 如果有人知道的话,我很乐意得到纠正。