0

我想运行以下任务:

// getting the average color of the mask area
convert demp.png \( demo_mask.png -negate \) -compose copyopacity 
-composite -scale 1x1! -format "%[pixel:u.p{0,0}]" info:

通过使用 imagemagick 子类的nodejs gm模块。我找不到任何关于 gm 模块的好的文档/教程,所以我有点陷入了一项重要任务的中间。

  gm("demo_mask.png").negative(function(err, maskImg){
    if(err) return Promise.reject(err);
    gm("demo.png").compose("CopyOpacity")
      .command("composite")
      .scale(1,1)
      .command('format').in('%[pixel:u.p{0,0}]')
       // HOW TO GO ON HERE ? HOW TO RETURN THE INFO NOW ?

  });

问题从第一个大括号开始,我必须先否定一个蒙版图像,然后才能合成它。我不确定如果我首先否定掩码并在回调中将其输入到合成中是否有效。但更大的问题是,我怎样才能将信息作为文本返回...?

4

1 回答 1

0

我不知道这是否有助于转换为 gm 代码。但你也可以这样做:

convert logo: -transparent white -alpha extract mask.png

convert logo: mask.png -compose copyopacity -composite -scale 1x1! -alpha off txt:

# ImageMagick pixel enumeration: 1,1,65535,srgb
0,0: (25752,20939,25349)  #645163  srgb(100,81,99)


然后解析 srgb(100,81,99) 的输出

请注意,拥有 ! -scale 1x1! 上的后缀,如果您的图像不是方形的。

于 2017-10-25T16:55:55.250 回答