私は少し問題があります。 私は2つのキャプチャとそれを取るカメラの魔女があります。 1枚の画像に2枚の画像を再構成したい。 私は、平面のテレビ画面の画像を撮影するカメラとの翻訳のみ行います。ホモグラフィは、カメラが回転をしたときにのみ動作すると聞きました。 私は翻訳だけを持っているときはどうしたらいいですか?カメラ翻訳(ステッチング用)のホモグラフィ
ありがとうございます。
私は少し問題があります。 私は2つのキャプチャとそれを取るカメラの魔女があります。 1枚の画像に2枚の画像を再構成したい。 私は、平面のテレビ画面の画像を撮影するカメラとの翻訳のみ行います。ホモグラフィは、カメラが回転をしたときにのみ動作すると聞きました。 私は翻訳だけを持っているときはどうしたらいいですか?カメラ翻訳(ステッチング用)のホモグラフィ
ありがとうございます。
平面画像(あなたの場合はテレビ画面)を画像化しているので、すべての画像は、同点カメラによって関連づけられます。これは、カメラが平行移動または回転している場合でも同じです。したがって、サーフェスの異なるイメージをステッチするには、3Dジオメトリ処理(基本行列の計算/三角形分割など)を行う必要はありません。あなたはあなたのイメージの間のホモグラフィを決定
。あなたは2つのイメージしか持たないので、最初のものを「ソース」として、第2のものを「ターゲット」として選択し、ターゲットからソースへのホモグラフィを計算することができます。これは古典的に特徴検出と強固なホモグラフィフィッティングで行われます。このホモグラフィを3x3行列Hで表すことにしましょう。
warpPerspective
メソッドで行うことができます。これらの手順を正確に実行するためのオープンソースプロジェクトはhereです。
テレビに別個の機能がないか、背景が乱雑な場合は、Hを推定する方法が強くない可能性があります。このような場合は、ターゲットとソースイメージのテレビ上で4つ以上の対応を手動でクリックし、OpenCVのfindHomography
メソッドを使用してHを計算することができます。あなたの対応は完全に恣意的ではないことに注意してください。具体的には、同一行である3つの対応が存在してはならない(この場合、Hは計算できない)。エラーは最終的なステッチに影響しゴーストアーチファクトを引き起こすため、できるだけ正確にクリックする必要があります。
重要な注意点は、カメラのレンズのひずみが大きい場合です。この場合、画像はではなく、と同義語で関連しています。これを処理するには、OpenCVを使用してカメラのキャリブレーションを実行してから、OpenCVのundistort
メソッドを使用してレンズ歪みを元に戻す必要があります。
基本的に、2つの間の相対的な変換(回転と平行移動)を計算する必要があります。これは、Essentialマトリックスの計算を介して行うことができます。いったんこれを取得すると、あなたがマッチした特徴点を三角測量し、疎な再構成を得ることができます。さもなければ、測光誤差と密集した再構成を調べる必要があるかもしれませんが、少し複雑です。 – Ash
私が言ったように、私はちょうど翻訳をしています。ホモグラフィはあなたが言っていることをしないのですか(「特徴点を三角測量する」)? 「測光誤差と高密度再構成」? @Ash – nadhir
サイズが大きすぎるため表示できません。 2つの画像には隙間があります。もし私が2番目の写真を少し撮ったら、それはうんざりだと思う..しかし、なぜこれを作っているのか理解できないのですか? – nadhir