有没有特定于 的函数 ,可以用来通过Graphicmagick或Imagemagick检索图像的亮度信息。我目前正在使用Node.js aws函数来执行其他操作,比如调整图像大小。
但是我找不到一个正确的方法来检索亮度信息(图像有多暗)。
任何帮助或指导都将是真正有帮助的。
我引用了以下URL。 Link 1 Link 2
发布于 2018-02-23 00:17:43
我能想到的最简单的方法是在 .identify 方法中使用 fx 表达式。
.identify
fx
var gm = require('gm').subClass({ imageMagick: true }); var filename = 'rose:' gm(filename).identify({format:'%[fx:lightness]'}, function(err, info){ console.log('Lightness pixel value : ' + info); //=> "Lightness pixel value : 0.182353" });
正如参考链接所建议的,将图像转换为灰度可能会产生更准确的结果。
var brightness = 0.0; gm().in(filename).colorspace('GRAY').out('-format').out('%[fx:mean*100]').toBuffer('info', function(err, buffer){ brightness = parseFloat(buffer.toString()) console.log('Gray brightness : ' + brightness) //=> "Gray brightness : 39.4629"