我安装了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命令的正确方法是什么?
答案 0 :(得分:0)
我不说节点,但我对ImageMagick非常熟悉。
gm
你看起来(对我来说)像 GraphicsMagick 而不是 ImageMagick (两者不同)我不认为 GraphicsMagick 有-function polynomial
。
你可以转向IM而不是GM吗?无论如何,我可能都错了 - 如果有人知道的话,我很乐意得到纠正。