【问题标题】:Detecting mostly empty images using imagemagick使用 imagemagick 检测大部分空图像
【发布时间】:2014-11-24 15:07:05
【问题描述】:

我想用imagemagick或graphicsmagick来检测一张图片是否基本没有内容。

这是一个例子:

https://s3-us-west-2.amazonaws.com/idelog/token_page_images/120c6af0-73eb-11e4-9483-4d4827589112_embed.png

我已经搜索了 Fred 的 imagemagick 脚本,但我不知道是否有办法做到这一点:

http://www.fmwconcepts.com/imagemagick/

【问题讨论】:

    标签: image imagemagick graphicsmagick


    【解决方案1】:

    最简单的方法是使用-edge 检测,然后使用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
    

    【讨论】:

    • 令人印象深刻!谢谢。
    【解决方案2】:

    如果您在谈论不透明像素的数量与透明像素的数量,那么下面将告诉您不透明像素的百分比。

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 2012-01-06
      • 2013-10-27
      • 2014-01-25
      • 2015-11-27
      • 1970-01-01
      相关资源
      最近更新 更多