2009-07-17 5 views
27

画像の向きに関するEXIFメタデータが利用できない場合でも、自動的に写真を回転したいと思います。写真の向きを検出するアルゴリズム

写真の向きを検出するためのアルゴリズムはありますか?画像はデジタルカメラの写真です。このアルゴリズムは完全には動作する必要はありませんが、写真を適切に回転させるために必要な人間のやりとりの量を減らすことが効果的です。

私は、トピックに関するこれら2つの論文を発見した:

ポインタ。

+0

これは、自動垂直/水平方向のアルゴリズムではないようですが、そこではいくつかの実装で見つけられる最も近いアルゴリズムです:デスキュー。 ImageMagickの傾きを確認するか、http://www.google.com/codesearch/p?ct=rc#f0yt7jaEG7A/raster/deskewer.cpp –

+3

画像を回転させるトリックを新しいものとして考えていることにも興味がありますCAPTCHAのスタイル。小さな円形のイメージには明らかな(私たちにとって)オブジェクトが提示されますが、明確な地平線はありません。私はこれがあなたを助けないと気づいていますが、問題の深さを強調しています。 http://www.richgossweiler.com/projects/rotcaptcha/rotcaptcha.pdf – Omniwombat

+0

@Luke Francl、私は似たようなことをしたいので、最終的にあなたのために何がうまくいったのですか? – Lazer

答えて

9

民生用デジタルカメラの多くの写真は人物であり、向きを変えるために使用できます。顔検出は十分に研究された研究分野である。基本的な顔の検出では、長辺が縦の長方形でなければならない矩形が得られます。さらに、目や口を検出できる場合は、矩形の正しい向きを選択する必要があります。

他の多くの写真は、空が上および青、地面が下および緑色である観光スナップです。

+3

多くの顔検出アルゴリズムでは、逆さまになっている顔は検出されないため、4つの可能な方向すべてで顔を探す必要があります。 – Janusz

+2

これは、私が上記にリンクした論文を検討して以来検討してきたものです。少なくとも1人がアルゴリズムの一部として顔認識を使用するためです。私の写真コーパスの大部分には顔が含まれているので、私はそれがうまくいくかもしれないと思う(私はJanuszによると、向きを認識できる顔認識プログラムを見つけることができると仮定して)。 –

-2

画像が四角形でない場合、デフォルト画像が縦長よりも広いと仮定することができます。 これは、回転させる必要があるかどうかを判断する場合にのみ、アスペクト比を比較し、回転させてデフォルトに戻すことです。あなたは逆さまのイメージで終わるかもしれませんが。

+2

これは既定のイメージにのみ該当します。多くの場合、顔や人物の写真を撮っている人はカメラを回すでしょう... – Janusz

+0

人がカメラを回してそのような写真を撮るとき、顔が横または上下にならない限り、少なくともアスペクト比を使用することができますヒント。 – bdbaddog

3

http://sourceforge.net/projects/rotator/しか見つかりませんでした。

約18枚の回転が必要な70枚の写真からなる休日写真のテストセットを使用しました。

既定の設定で処理した後、回転したか、回転しなかった20個のエラーがありました。

それほど素晴らしい結果はありません。

関連する問題