1

私は何千ものユーザー投稿写真を載せたウェブサイトを運営しています。私が欲しいのは、良い写真から悪い写真を取り除くのに役立つスクリプトです。明らかにこれは100%可能ではありませんが、画像に識別可能な焦点領域がないかどうかを判断できるはずですか?おもう?

私は少しグーグルをしました、そして、主題に関して多くを見つけることができませんでした。

ピクセルを反復処理し、隣接するピクセル間の明るさの差を合計する非常に単純なスクリプトを作成しました。これにより、鮮明なコントラストのある画像には高い値が与えられ、ぼやけた/焦点が合っていない画像には低い値が与えられます。ただし、フレーム内に完全に焦点が合った小さな被写体があり、背景がボケ味があるかのように、理想からはほど遠いですが、値は低くなります。

ですから、私が欲しいのは、画像の一部に焦点が合っているかどうかを判断できるスクリプトであり、焦点が合っていない場合は、警告を発することはできないと思います。

明るいアイデアはありますか?私は自分の時間を無駄にしていますか?

他の種類の「悪い」写真も特定できるコードに興味があります。暗すぎる、明るすぎる、平坦すぎる、そのようなものです。

4

1 に答える 1

1

暗すぎたり明るすぎたりするのは簡単です。すべてのピクセルを反復処理するときに色の平均を計算します。

あなたの焦点の問題については、私はあなたがこれで多くの問題に遭遇するだろうと思います。カーネル畳み込みを調べることを強くお勧めします。私はあなたがそれを必要とするだろうという沈没感を持っているからです。これにより、ネイバーに基づいてピクセルに対してより複雑な操作を実行できます。これが、ほとんどのPhotoshopフィルターの実行方法です。

数学のバックグラウンドを取得したら、画像を明るさを表す一意の値の配列(RGBではなく)に変換します。そこから、エッジファインダーカーネルを使用して(Sobelオペレーターがトリックを実行する必要があります)、エッジを見つけます。それが完了したら、もう一度繰り返し、エッジのないビットをマッピングし、これからエッジのない最大の正方形の領域を計算します。最も難解ではありませんが、おそらくCPUを最も消費しないソリューションです。

于 2012-11-17T23:59:54.860 に答える