2013-04-12 6 views
5

インバース・パースペクティブ・マッピングを実装して、道路上の別の車両との距離を計算しようとしています。 warpPerspective()関数を適用する前にソースポイントとデスティネーションポイントで変換行列を生成する必要があることを知っていますが、デスティネーションポイントの計算方法はわかりません。warpPerspective()を使用して道路のトップダウ・ビューを生成するopencv

私はこのフォーラムや他のサイトで検索が、私は、第2の画像を最初の画像を変換することはできません。

Image 1 http://shanetuohy.com/fyp/Images/img.png

Image 2 http://shanetuohy.com/fyp/Images/IPMim.png

+0

[スレッドについて](http://stackoverflow.com/questions/7838487/executing-cvwarpperspective-for-a-fake-deskewing-on-a-set-of-cvpoint)? – karlphillip

+0

あなたがすでに書いたコードを含めて、問題の原因となっている部分を示してください。 –

+0

これは研究レベルの材料とよく似ています。そのトピックに関連するpdfドキュメントを見てみてください:[this one](http://www.eee.nuigalway.ie/Research/car/documents/docualain_issc10.pdf)は有望そうですが、私はそれを読まなかった、私はほんの数ページしか見ていませんでした。とにかくこれはおそらくあなたが探しているべきドキュメントの種類です。 – didierc

答えて

3

あなたが達成したい目標はする必要があります地面、カメラで見たときの画像内の位置、およびワシの視点での位置の間のホーノグラフィを計算する。

これは、ほとんどのコンピュータビジョンパイプラインでフィーチャ(コーナーまたはキーポイント)を抽出することによって伝統的に処理されますが、ここでは実用的ではありません:道路上のフィーチャ(または機能の変更)はありません。

あなたが代わりに行うことができますするには、次の手順で、キャリブレーションステップでこれらのホモグラフィを計算します

  1. は、対象車両にカメラを置きます。車の前に平らな地面に横たわっている既知の矩形パターン(通常チェス盤)を置く。メトリック距離が必要な場合は、パターンのサイズも知っている必要があります。それ以外の場合は、相対距離だけを測定します。

  2. この設定で較正パターンを撮影します。

  3. パターンのイメージでは、それを検出する必要があります。これはいくつかの方法で行うことができます。パターンの参照画像がある場合は、それを自動的に検出するか、手動で4つの外側のコーナーをクリックすることができます。これにより、少なくとも4点の対応が得られます(パターンの各外側コーナーに1つ)。点の対応は、画像点(例えば、4つのコーナー)と基準位置との間に確立され、基準位置はパターンの参照画像内の前記点の位置(oyuが1つの場合)またはこれに対して所望する位置イーグルビューのポイント。

  4. 対応関係から、ホモグラフィHを推定する。 Hは3x3マトリックスです(オンラインまたは教科書のComputer Visionのリファレンスを参照)。

あなたはカメラを見て、キャリブレーションパターンの基準位置されているものとの間で変換これが出力されます。 もし、あなたが探しているホモグラフィを持っていれば、パターンのフロント・パラレル・ビュー、または希望する座標を参照することができます。そうでない場合は、2番目のホモグラフィを推定し、その結果を連鎖させる必要があります。

このアプリケーションは、Gary Bradski's Learning OpenCV bookであることに注意してください。あなたは本の中でそれについてもっと読むことができ、probbalyは元のコードをオンラインで見つける。

+0

ありがとうございました!あなたのすべてがすぐに答えます。 @karlphillip私はこれのようないくつかのスレッドを見てきましたが、私は私の目標に実装することはできません –

+0

私はあなたの代わりに前に思った、私は、この実装がリアルタイムで車線検出に使用されていることを知っています。みんな助けて!私は私の問題の解決策を見つける必要があります。 –

関連する問題