問題タブ [homography]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
image-processing - OpenCV の findHomography の宛先ポイントの計算
編集:非常に詳細な回答でこの同様の質問を見つけました:
私は OpenCVfindHomography()
とwarpPerspective()
メソッドを使用して、一枚の紙の写真を「歪ませる」ようにしています。これは大部分が機能していますが、細部にこだわっています。
やり方がわからないのは、 に入力する目的点の最適なセットを計算することfindHomography()
です。出力を長方形にしたいことはわかっていますが、長方形の幅と高さの比率はわかりません。また、 を介して変換を適用したときに、出力画像のスケーリングが最小限になるように、出力四角形のサイズを変更したいと考えていますwarpPerspective()
。私が持っているのは、ソース画像で変換したい四角形を形成する 4 つの点だけです。最適なサイズの宛先長方形を計算するにはどうすればよいですか?
opencv - あるカメラから別のステレオ カメラに 2D 座標を変換するために、計算されたホモグラフィを使用できますか?
ばかげているように聞こえるかもしれませんが、本当に質問する必要があります。
ホモグラフィが計算されたら、これを使用して、一方のカメラで検出されたオブジェクトの中心の 2D 座標を、もう一方のステレオ カメラに 2D 座標として投影できますか?
opencv - 複数のカメラ画像のスティッチング
複数のカメラからの画像をつなぎ合わせるプロジェクトを実行していますが、ボトルネックがあると思います...この問題についていくつか質問があります。
将来的には車両に取り付けたいと思っています。つまり、カメラの相対的な位置と向きは固定されています。
また、私は複数のカメラを使用しており、HOMOGRAPHY を使用してそれらから画像をつなぎ合わせようとしているので、カメラをできるだけ近くに配置して、エラー (カメラの焦点が同じ位置になく、カメラが特定のスペースを占有するため不可能です。) を減らすことができます。
これは私の短い実験ビデオです。 http://www.youtube.com/watch?v=JEQJZQq3RTY
そこに示されているように、スティッチングの結果は非常にひどいものです...カメラによってキャプチャされたシーンが静的であっても、ホモグラフィは変化し続けます。
次のリンクは、これまでに行ったコードで、code1.png と code2.png は、Stitching_refind.cpp のコードの一部を示す画像です。
https://docs.google.com/folder/d/0B2r9FmkcbNwAbHdtVEVkSW1SQW8/edit?pli=1
数日前に、ステップ 2、3、および 4 (上記の 2 つの png 画像を確認してください) を一度だけ実行するなど、コードの一部の内容を変更しました。
要約すると、私の質問は次のとおりです。
1. 特徴を計算する前に重複領域を見つけることは可能ですか? 計算時間と不一致が増えるため、画像全体の特徴を計算したくありません。隣接する2つの画像の重なり合う領域でコンピュータの機能だけを使用することは可能でしょうか?
2.得られたホモグラフィをより正確にするために私は何ができますか? 一部の人々は、CAMERA CALIBRATION について話し、他のマッチング方法を試しました。私はまだコンピュータ ビジョンに慣れていません... カメラのキャリブレーションに関するいくつかの資料を調べようとしましたが、それが何のためにあるのかまだわかりません。
約 2 か月前に、ここで同様の質問をしました 。
、回答者のクリスの一人が言った:
賢明にこれを行っているように聞こえますが、両方のカメラにアクセスでき、それらが互いに静止したままである場合は、オフラインで調整し、オンラインで変換を適用するだけで、アプリケーションがより効率的になります.
「オフラインで校正」とはどういう意味ですか? そしてそれは何を助けますか?
アドバイスや助けをありがとう。
opencv - カメラが鳥瞰図を持っているかのように、ホモグラフィの四角形が歪んで見える
しかし、マーカーはすべて正しいので、ウェブカメラ ビューの画像の周りに四角形がうまく収まるようにするには、どのような設定を調整すればよいか考えています。私はopenCVsharpを使用しています。
opencv - InterFrame ホモグラフィ エラー
フレーム間ホモグラフィを使用して、シーン ホモグラフィを計算し、グラフィックスを純粋な回転およびズーム カメラでキャプチャされたビデオに視覚化しています。最終的なシーン ホモグラフィ (Hscene) は次のように計算されます。OpenCVを使用して。部分的なフレーム間ホモグラフィ エラーが原因で累積エラーが発生する可能性があることはわかっています。しかし、別のエラーが発生するいくつかのビデオ シーケンスがあります。このエラーは、視覚化されたグラフィックスのドリフトとしても現れます。グラフィックスが画像の境界に投影されると、ドリフトがより目立ちます。最初のアイデアはレンズの歪みでしたが、ビデオには歪みは含まれていません。初期フレームからターゲット フレームへのダイレクト ホモグラフィを計算すると、射影にもドリフトがありません。
このドリフトの原因とそれを解消する方法を知っていますか?
[2012 年 5 月 9 日編集] 原因はレンズの歪みです。フレーム間の特徴点対応から推定できる?
c++ - RANSAC の間違った外れ値を使用した findHomography
features2d (ORB、SIFT など) を使用してオブジェクト検出を行っています。
私は RANSAC でホモグラフィーをさらに調査しています。多くの良い点が誤って外れ値としてマークされていることがわかりました。
オブジェクト (本) 内には外れ値であってはならない外れ値がたくさんあります
しきい値を 10 まで上げようとしましたが、結果はほとんど同じです。この状況を改善するために何かできることはありますか?
RANSAC で壊れたものはありますか?
matrix - ホモグラフィ行列の要素は何を意味しますか?
画像処理は初めてですが、C# 画像解析には EMGU を使用しています。ただし、ホモグラフィ行列が EMGU に固有のものではないことはわかっているため、別の言語の知識を持っている人がより適切に説明できる可能性があります。
(できる限り単純化して)誰かが各要素の機能を説明してください。私はこれをオンラインで調べましたが、適切に理解できる答えを見つけることができません (私が言ったように、私はこれらすべてにちょっと慣れていません!)
どちらも 2 次元の 2 つの画像を分析します。したがって、画像の回転/移動を考慮するには、3x3 マトリックスが必要です。動きが検出されない場合、ホモグラフィ行列は 100, 010, 001 です。
私は研究から知っています (例: OpenCV ホモグラフィ、ポイントの変換、このコードは何をしている? ): 10Tx, 01Ty, XXX
10,01 ビットは、x 座標と y 座標の回転です。Tx ビットと Ty ビットは並進運動ですが、XXX ビットとは何ですか? これ、わからないですよね?アフィン変換と関係がありますか?誰か説明してくれませんか: 2. XXX ビットの意味
opencv - 計算されたホモグラフィを使用して、マーカーから画像に 2D ポイントを投影する
SIFTアルゴリズムを実行して特徴を抽出した平面マーカーがあります。次に、ディテクターを実行してシーン内のこのマーカーを見つけ、再び特徴を抽出します。を使用して OpenCV でポイントを一致させ、一致したペアからホモグラフィを抽出しfindHomography()
ます。
ここで、マーカーで検出された 2D ポイントを計算されたホモグラフィで投影して、シーンから測定された 3D ポイントと位置を比較し、再投影誤差を計算します。ピクセル座標、センチメートル、キャリブレーション マトリックスと混同しています。どの変換を最初に行うべきかわかりません。
誰かがこれに関するリンクを知っているか、方法を説明できますか?
c++ - 3D 再構築のための OpenCV 未較正カメラ修正
OpenCV 2.4.2 を実行しています。
私のプロジェクトは、3D 顔識別で構成されています。
キャリブレーションされていないカメラで撮影した画像のペアから 3D モデルを作成しようとしています。
私の目標は、識別プロセスに使用する 3D 機能を取得することです。
カメラのキャリブレーションと修正を試みていますが、良い結果が得られませんでした。
次の手順を実行しました。
- 2 つの画像から抽出された SURF 特徴
- 2 つの画像特徴間の一致が見つかりました
- のおかげで基礎行列を計算しました
findFundamentalMat
stereoRectifyUncalibrated
ホモグラフィ行列を取得するために 使用されますwarpPerspective
最初の画像と最初のホモグラフィ行列と共に使用して、結果を確認します。
結果が悪くて、どうしたらいいのかわからない…
そのアルゴリズムは正しいですか?なにか提案を?
顔をより正確に識別するには、どのような 3D 機能を使用できますか?
ここにキャリブレーションコード:
opencv - CV Surf と FindExtrinsicCameraParams2 を開きます
SURF 特徴検出でホモグラフィー分解を使用する代わりに、FindExtrinsicCameraParams2 を使用してポーズ行列を取得することは可能ですか?