問題タブ [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.
opencv - ホモグラフィマトリックスを適切に使用するにはどうすればよいですか?
だから私は画像とパノラマ画像を持っています。からのピクセルimage1
は、ホモグラフィマトリックスを使用してパノラマにマッピングされます(それは正しいですか?)。私はホモグラフィマトリックスを持っていますH
。
それで、パノラマの各ピクセルについて、ピクセルがどこにあるかをどうやって知ることができimage1
ますか?
パノラマのピクセルの(u、v)座標があります。これは、 H
image1をパノラマにマッピングするホモグラフィです。
式は何ですか?
image - 画像内のオブジェクトを検出するための高速アルゴリズム
光学式マーク認識用の小さなプログラムに取り組んでいます。スキャンされたフォームの処理は、次の 2 つのステップで構成されます。2) この「正規化された」フォームを使用すると、元のドキュメントの座標などを使用して簡単にマークを検索できます。
最初のステップとして、現在、OpenCV のホモグラフィ関数と遠近変換を使用してポイントをマッピングしています。SurfDetector も試してみました。
ただし、両方のアルゴリズムは非常に遅く、ドキュメント スキャナーからフォームをスキャンする場合の速度要件を実際には満たしていません。
この特定の問題に対する代替アルゴリズム/解決策を教えてもらえますか?
前もって感謝します!
opencv - cvPerspectiveTransform:何を提供する必要がありますか?
cvPerspectiveTransform
4つの2Dポイントを変換するために使用しようとしています。すでに変換行列(3x3)を取得しましたcvFindHomography
。エラーが発生しないように、どのような構造を提供すればよいかわかりません。これらのポイントでそれを行う方法を教えてくれる人はいますか?
- x:y
- 0:0
- 640:0
- 0:480
- 640:480
WinでOpenCV2.4.0を使用しています。
camera-calibration - カメラのホモグラフィ
私はカメラマトリックスのことを学んでいます。オブジェクト空間の平面内の 4 点を使用して、カメラ (3*3 行列) のホモグラフィを取得できることは既に知っていました。平面上にない 4 点でホマグラフィーを取得できるかどうか知りたいですか? はいの場合、どうすれば行列を取得できますか? どの式を見ればよいですか?
また、ホモグラフィーを別の概念と混同しました。ある座標の点を別の座標系に変換したい場合、3 つの点を知るだけでよいのです。では、なぜホモグラフィを計算するのに 4 つの点が必要なのでしょうか?
opencv - 平面オブジェクトホモグラフィ計算とポーズ推定
私はOpenCVで自分のホモグラフィとポーズ推定を実装しようとしています。カメラからの入力フレームに配置したいモデルとして正方形の画像があるとします。私の質問は、ホモグラフィを計算するためのモデルデータを準備する方法についてです。
私は次の手順を実行しました:
1-両方の画像で対応する3つのセットを抽出しました。
2-P3P問題の解決:
a)カメラ固有のパラメータを使用して入力ポイントを正規化する:
b)単位ベクトルを持つために長さを正規化する:
c)p3pを解き、a、b、cに保存することにより、uとカメラの焦点の間の距離を求めます(vとwについても同じです)。
d)3D座標の計算:
3-コンピューティングホモグラフィ
私の質問はここで生じています。p1_model,p2_model and p3_model
ホモグラフィコンピューティングに備えるために、どのように準備および変更する必要がありますか?
明らかに A_Input
、は正規化された日付の3Dベクトルですがp1_model
、はピクセル単位の2Dベクトルです。
問題を解決した後、残りは次のようになります。
a)両方のセットの中心点を見つける。
b)この式ドット製品を使用してHを見つける
4-HとSVDを使用して剛体変換を見つける
詳細はこちらとこちらをご覧ください
opencv - 3 組の 2D/2D 特派員のホモグラフィを見つける
画像に 3 つの特徴点があり、それらが別の画像に一致しています。
私の質問は、これらの一致を互いに関連付けるホモグラフィを見つける方法ですか? P3Pの問題を解決する必要があることはわかっていますが、この目的のためにポイントセットを正確に正規化する方法がわかりません。P3P を解いた後、ホモグラフィ行列を取得するにはどうすればよいですか。
カメラの固有パラメータがわかっているとします。その後、6DOF 剛体変換を計算し、画像 1 のすべての任意の点を画像 2 にマッピングします。
cv::findHomography() のような OpenCV ネイティブ関数を使用したくないことは言及する価値があります。
明確かつ完全に返信していただければ幸いです。hereおよびhereの指示に従いましたが、正しい解決策が得られなかったためです。
opencv - openCVを使用したイメージングスティッチング-最終段階の難易度
私はOpenCV2.4を使用して、ビデオを長い(狭い)モザイクに変換しています。OpenCVを使用するのはこれが初めてですが、これまでのところ、いくつかの成功を収めて次のことを管理しています。
- ビデオからフレームを取得します。
- SIFTを使用してキーポイント記述子を取得します。
- RANSACを使用して外れ値を分類します
- ホモグラフィ行列を見つけます。
問題は、ホモグラフィマトリックスをフレーム/画像の1つに適用して、モザイクを生成しようとしたときです。時々、warpPerspective()の宛先行列のサイズが小さすぎるというエラーが表示されます。これを回避するために、結果が収まるようにサイズが大きすぎると思います。ただし、フレームのコピーを結合すると、ほとんどが黒の巨大な画像になります。だから私の質問は、どうすればこれを賢く行うことができるかということです。モザイクをwarpPerspective()に渡す前に、モザイクに必要な宛先マトリックスのサイズを計算するにはどうすればよいですか?私はROI/Rectで物事を試してきましたが、それで何をしているのかよくわかりません。
何か提案があれば、私は永遠に感謝します。
java - Javaで画像の四角形を検出する方法は?
Javaで画像中の四角形を検出したいです。OpenCV で HoughLinesP メソッド (opencv Java バインディングに javaCV を使用) を使用して、線分を検出できます。しかし、四角形を検出する方法がわかりません。そのための別の方法またはハフ線を使用する方法はありますか? また、四角形の角が検出されたら、このクラスと同じように四角形を返すようにします - http://www.aforgenet.com/framework/docs/html/7039a71d-a87d-47ef-7907-ad873118e374.htm - openCV に同等のライブラリはありますか?
c++ - cv::findHomography ジオビング エラー c2665
http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.htmlを提供するこのコードを見ました
当然、同じ方法で findHomography にデータをロードしたいと思いました。だから私のコードは
しかし、それは私に与えます
1>c:\main.cpp(65): エラー C2665: 'cv::findHomography': 2 つのオーバーロードのいずれもすべての引数の型を変換できませんでした 1> c:\opencv\build\include\opencv2\calib3d\calib3d. hpp(423): 'cv::Mat cv::findHomography(cv::InputArray,cv::InputArray,int,double,cv::OutputArray)' 1> c:\opencv\build\include\opencv2\ の可能性がありますcalib3d\calib3d.hpp(428): または 'cv::Mat cv::findHomography(cv::InputArray,cv::InputArray,cv::OutputArray,int,double)' 1> 引数リストの一致を試みている間 ' (オーバーロードされた関数、オーバーロードされた関数、int)' 1> 1>ビルドに失敗しました。
ベクトルの代わりに CV::Mat を使用すると機能しますが、サンプルと同じ形式が機能しない理由がわかりません。
opencv - ホモグラフィーを使用するにはどうすればよいですか?
同じシーンの 2 つの写真を受け取るプログラムを開発していますが、そのうちの 1 つに歪みがあります。
そして、歪みのパターンを評価し、それを補正できるようにしたいと考えています
私はすでにキーポイントを見つけることができており、これに関数 cv::findHomography を使用できるかどうかを知りたいです... いずれにせよ、どのように行うのですか?