我想评估一下一张照片是否模糊。实际上,使用imagemagick 6.7.7-10来识别逗号给出了一些可能很有趣的信息,并命令:
identify -format "%[filename] sd:%[standard-deviation]\n" floue1.jpganswer> floue1.jpg sd:7876.9
似乎是个好的开始。但是,如果我使用:
identify -verbose floue1.jpg | grep stan
standard deviation: 34.8189 (0.136545)
standard deviation: 26.7428 (0.104874)
standard deviation: 29.8434 (0.117033)
standard deviation: 30.6494 (0.120194)我看到4个标准差值,一个是全局的,一个是针对每个颜色通道的,这些值与我使用第一个命令得到的单个值不同。
这些结果从何而来?我如何选择(打印)这些结果?
发布于 2016-01-27 16:48:17
它的工作方式如下:
identify -verbose floue1.jpg | grep stan
standard deviation: 39.0047 (0.15296)
standard deviation: 36.45 (0.142941)
standard deviation: 37.9805 (0.148943)
standard deviation: 37.8263 (0.148339)线上的第一个数字在0-255范围内缩放,第二个数字被标准化为0到1的范围。
第一行是红标准偏差,第二行是绿色,第三行是蓝色,而最后一行是所有通道的平均值。
如果您想单独访问它们,请使用:
convert floue1.jpg -format "%[filename] sd:%[fx:standard_deviation.blue]\n" info:
floue1.jpg sd:0.148943或者,您也可以选择一个不同的,并缩放它:
convert floue1.jpg -format "%[filename] sd:%[fx:int(standard_deviation.green*255)]\n" info:
floue1.jpg sd:36如果您想一次完成所有操作,并且正在使用bash,则可以这样做:
read sdr sdg sdb <<< $(convert floue1.jpg -format "%[fx:int(standard_deviation.red*255)] %[fx:int(standard_deviation.green*255)] %[fx:int(standard_deviation.blue*255)]" info: )
echo $sdr, $sdg, $sdb
39, 36, 37https://stackoverflow.com/questions/35041918
复制相似问题