2014-11-24 38 views

回答

2

最简单的方法是使用-edge检测followe d通过histogram: & text:。这将生成一个可以传递给另一个进程进行评估的大量像素信息。

convert 120c6af0-73eb-11e4-9483-4d4827589112_embed.png \ 
     -edge 1 histogram:text:- | cut -d ' ' -f 4 | sort | uniq -c 

上面的例子将产生的一个很好的报告:

50999 #000000 
    201 #FFFFFF 

作为白色像素的计数是小于黑色像素的1%,我可以说图像是空的。

这可能可以通过将-fx信息传递到实用程序来简化。

convert 120c6af0-73eb-11e4-9483-4d4827589112_embed.png \ 
     -format '%[mean] %[max]' info:- | awk '{print $1/$2}' 
#=> 0.00684814 
+0

令人印象深刻!谢谢。 – metalaureate 2014-11-24 16:56:05

0

如果你正在谈论不透明像素的VS透明像素的量量,那么下面会告诉你不透明像素的百分比。

convert test.png -alpha extract -format "%[fx:100*mean]\n" info: 

39.0626

或者,如果你想透明像素的百分比,使用

convert test.png -alpha extract -format "%[fx:100*(1-mean)]\n" info: 

60.9374