完全に白い画像を見つける方法は?

完全に白い画像を見つける方法は?

サイトで私が確認した多くの画像は完全に空です。つまり、500x500で、すべてのピクセルが白です。すべてのイメージは、イメージディレクトリのサブディレクトリにあります。何が白であるかを確認する方法は?これらのイメージの名前を調べるか考えています。

修正する:

  • bashスクリプトやコマンドを使いたいです。
  • Imagemagickがインストールされました。
  • サーバーはUbuntu 14.04です
  • すべての画像に.jpg拡張子があります。

ベストアンサー1

ImageMagickパッケージがある場合、またはインストールできる場合は、identifyファイルのカラーヒストグラムを印刷するユーティリティがあります。以下のawkプログラムは、identify -verbose出力をスキャンしてヒストグラムにリストされている色と色の数を取得します。 1つの色だけが表示され、ヒストグラムの唯一の色が白の場合は「成功」を返し、それ以外の場合は「失敗」を返します。

その後、awkの周囲にシェルスクリプトをラップして識別し、一致するファイルにフラグを立てることができます。

for f in images/*
do
  identify -verbose "$f" | awk -f iswhite.awk && echo "$f is an all-white image"
done

iswhite.awk:

/Histogram:/ {
  inhisto=1
}
inhisto && /[[:digit:]]+: \([ [:digit:]]{3},[ [:digit:]]{3},[ [:digit:]]{3}\) #/ {
  if ($0 !~ /#FFFFFF white/) { nonwhite=1 }
}
/Rendering intent/ {
  inhisto=0
}
/Colors: / {
  ncolors=$2
}
END {
  if (ncolors == 1 && nonwhite == 0) { exit 0 } else { exit 1 }
}

おすすめ記事