2017-08-22 4 views
2

私は今、特定のコンピュータビジョンタスクに苦労しています。たとえば、道路のカメラフレームがあるとします。今、私は架空のカメラを水平に翻訳して新しいフレームを生成したいと思います。また、小さなカメラアングルも追加されています。これを説明するために、私は、デモンストレーション画像をアップロード:Pythonは新しいカメラ位置で画像を作成します

Demonstration

は、どのように私はPythonでオリジナルのものから新しいフレームを作成することができますか? 私の他のコンピュータビジョンタスクでは、すでにOpenCVを使用していました。

+1

あなたが見せているように2枚の写真を撮ったとしましょう。視点の変更があっても、右から多く、左からは少ないイメージが得られるので、翻訳がいくつかあります。今あなたが同じことをしていると想像してください。壁からわずか1キロです。同じ角度からのより多くの翻訳。したがって、より多くの情報が必要です。特に深さ。 [ここには非常に詳細なスライドがあります](http://6.869.csail.mit.edu/fa12/lectures/lecture13ransac/lecture13ransac.pdf)、この問題の多くの側面を網羅しています。 –

答えて

1

翻訳しようとしている場合は、ホモグラフィ行列で行うことができるイメージの平面を変更します。パースペクティブ変換について確認してください。あなたの画像のように、Xに沿って移動し、その後角度に画像を変更するには、マトリックスの値H(0,2)およびH(2,0)で再生する必要があり Here .

enter image description here

最初に同じ画像でホモグラフィ・マトリックスを見つけてから、上記のマトリックスの位置の値を変更してワープする。あなたは望みどおりになるでしょう。

:ホモグラフィは、単純に3x3マトリックスです。各マトリックス要素は、画像上の特定の操作に対応する。

Like 0x0の位置にある要素は、イメージを水平に伸ばします。 1x0の位置にある要素は画像を斜めにします。左のエッジを維持し、右のエッジを引き下げるように。賢明なように、他の要素はそれぞれの操作を行います。

ホモグラフィ行列では、2x0と0x2の要素が、必要なタスクに割り当てられます。すなわち、平面を移動させ、X方向に移動する。これらの値を変更(再生)することにより、の視点の画像が異なります。したがって、これは透視変換とも呼ばれます。

+0

こんにちは、これはかなり簡単ですが、値H(0,2)とH(2,0)で再生するとどういう意味ですか?申し訳ありませんが、私はこのトピックについて全く新しいです – johni07

+0

さて、私は編集し、答えの最後の部分に追加しました。チェック。コードに関する助けが必要な場合は、お気軽にお問い合わせください。 –

関連する問題