何千もの資産をプレビューとして表示するスクリプトを作成しようとしています。これらのリソースの多くはFlashを使用し、コマンドラインからChromeブラウザを介してキャプチャします。今私はそれを機能させるためにその隣に立っている必要があります、これはまさにPITAです。役に立つのは、かなり頻繁に発生するように見える失敗したサムネイルを作成したときに私のスクリプトにこれを知らせることです。
「失敗」は濃い灰色や白など均一な色である傾向があり、私はこの「均一性」をプログラム的にサムネイルの成功を評価する方法として使用できると考えました。ここにいくつかの例があります。
https://dl.dropboxusercontent.com/u/846812/permanent/thumb_examples/fail_1.jpg https://dl.dropboxusercontent.com/u/846812/permanent/thumb_examples/fail_2.jpg https://dl.dropboxusercontent.com/u/846812/permanent/thumb_examples/success1.jpg https://dl.dropboxusercontent.com/u/846812/permanent/thumb_examples/success2.jpg
これを(私の考えでは)より難しくすることは、濃い灰色が均一な色ではなく、繰り返されるピクセルパターンであるということです。詳しく見ると次のようになります。
だから、均一だが均一に繰り返されるパターンです。
誰もがコマンドラインでこれを行う方法を考えることができますか?
ベストアンサー1
プログラムでこれを行う方法がわかりません。 100%正確ではありませんが、画面キャプチャに近い作業を行っているので、実際に画面から画像を起動して使用することをお勧めしますxdtool
。サンプル画像の複数の点をランダムにサンプリングし、ピクセルの色を検出します。色の全部または95%以上が同じであれば、画像が単色であると安全に話すことができます。
別のアプローチは、一般的なエラー画像を保存し、画像サイズをエラー画像のサイズと比較することである。私はVLCを使用してビデオライブラリのビデオから静止画を抽出していますが、この作業中に画像のコントラストが高いほど、キャプチャしたpngファイルのサイズが大きくなることに気づきました。そのため、画像サイズが小さすぎるか確認してください。結局のところ、画像圧縮は、繰り返されるパターンの保存を最小限に抑えることです。この事実を有利に活用することができる。