問題タブ [extrinsic-parameters]
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 - OpenCV: 基本行列と移動カメラ
キャリブレーションされた(固有パラメータ)カメラがあります。オブジェクトからステレオ写真を撮り、それらを再投影プロセスで使用して、オブジェクトの 3D 情報を見つけます。
そのために、まず基本行列を計算しました。次に、Essential マトリックスを取得し、そこから、Rotation マトリックスと Translation ベクトル、およびその他の必要な情報を取得します。
問題は、異なるパラメーターを使用すると、非常に異なる結果が得られることです。Fundamental マトリックスが同じステレオ イメージに対して異なる可能性があることはわかっていますが、同じ Rotation マトリックスと Translation ベクトルを持つことを期待しています。ただし、パラメーターが異なると (たとえば、一致した特徴の数)、異なるマトリックスが生成されます。私は何かが恋しいですか?同じステレオ画像が (かなり) 同じ回転、平行移動、および再投影行列を提供する必要があるというのは正しいですか?
これが私のコードです。任意の助けをいただければ幸いです。ありがとう!
opencv - 平面の代わりに既知のオブジェクト サイズを使用してカメラ ポーズ/外部パラメータを推定できますか?
誰かがより良い質問を提案したい場合は、私はそれを変更します:)
私は以前、世界の寸法が既知の地面を使用してカメラを正常に調整しましたが、高さがわかっているときに2Dでオブジェクトを識別するだけでカメラの外部要素(固有要素が既知)を計算できるかどうかを調べようとしています。
率直に言って、これは三角法でできると思いますが、まだよくわかりません...
たぶん、2 つのオブジェクト間に三角形を作成し、地平面上の距離を決定し、あいまいな平面ができたら、通常の姿勢推定を行うことができますか?
私は検索してきましたが、このアプローチからこれを行うためのアルゴリズムへの参照は見つかりませんでした...それはできますか?
java - Java Flyweight パターン: 外因性および内因性の状態?
Flyweight
パターンのこれらの状態の違いの間で混乱しています。
intrinsic
状態は共有されている状態であり、共有されていない状態であることを認識してExtrinsic
います。
extrinsic
ただし、パターン内または以下の例内で状態が持つ重要性はわかりません。
ウィキペディアでテキスト エディターに関する例を参照してください。本質的な状態は文字であり、その外部的な状態はフォント、色などですか?
camera - 基本行列からカメラの回転行列と並進行列を決定する
エッセンシャルマトリックスから回転マトリックスと並進マトリックスを抽出しようとしています。これらの回答を参考にしました:
SVD を介してエッセンシャル マトリックスから翻訳を抽出する正しい方法
これで、SVD をエッセンシャル マトリックスに適用する上記の手順を実行しましたが、ここで問題が発生します。この主題に関する私の理解によれば、R と T の両方に 2 つの答えがあり、[R|T] の 4 つの可能な解につながります。ただし、物理的な状況に適合するソリューションは 1 つだけです。
私の質問は、4 つのソリューションのどれが正しいソリューションであるかをどのように判断できますか?
私はカメラの位置を勉強する初心者です。そのため、可能であれば、答えをできるだけ明確に (ただしシンプルに) してください。任意の提案をいただければ幸いです、ありがとう。
opencv - 回転フレームのカメラ パラメータ
キャリブレーションされたカメラを使用してキャプチャされたフレーム/画像があります。カメラ パラメーターの両方のセット (組み込みおよび外部) が利用可能です。フレームを水平方向と垂直方向の両方に反転する場合 (効果的に 180 度回転する場合)、回転した画像の正しいパラメーターを取得するには、元のカメラパラメーターで何を変更する必要があるのでしょうか?
どんな助けでも大歓迎です。ありがとう..
opencv - cv::solvePnPRansac は恒等行列を返します
cv::solvePnPRansac を使用して、3D から 2D への対応が与えられたオブジェクトのポーズを見つけたいと考えています。私の対応には外れ値があるかもしれないので、cv::solvePnP を使用したくありません。OpenGL でカメラから撮影したスナップショットの 3D から 2D への対応を使用しました。したがって、逆投影後、solvePnP を使用した後に返された回転行列が正しいことがわかりました。しかし、solvePnPRansac を使用すると、恒等行列とゼロの平行移動ベクトルが得られます。助けてください!次のコードを使用しました。前もって感謝します !
コードを実行すると、次の出力が得られます。
computer-vision - カメラの外部キャリブレーション
私はすでにキャリブレーション済みの魚眼カメラを持っています。チェッカーボードの単一の画像、固有パラメーター、およびチェッカーボードの正方形のサイズを使用するだけで、チェッカーボードのカメラポーズを計算する必要があります。残念ながら、多くのキャリブレーション ライブラリは、最初に一連の画像から外部パラメータを計算し、次に内部パラメータを計算します。これは本質的に、私が望むものの「逆」手順です。もちろん、キャリブレーションに使用した他の画像のセット内にチェッカーボードの画像を配置して、キャリブレーション手順を再度実行することもできますが、これは非常に面倒です。本質的なキャリブレーション。誰かが私を正しい方向に向けることができますか?
編集:フランチェスコの答えを読んだ後、カメラのキャリブレーションの意味を説明していないことに気付きました。私の問題は、私が古典的な固有パラメータ行列を持っていないという事実から始まります (そのため、フランチェスコが説明した方法を実際に使用することはできません) 。 .com/site/scarabotix/ocamcalib-toolbox )、これは基本的に、3d ワールド ポイントをピクセル座標にマップする多項式 (または、ピクセルを単位球に逆投影する多項式) を見つけます。さて、これらの情報は、チェス盤に関するカメラのポーズを見つけるのに十分だと思いますが、正確にどのように進めればよいかわかりません。
opencv - 非平面リグのカメラ キャリブレーション
得られた結果と提供されたドキュメントに基づいて、非平面リグを使用したキャリブレーションは OpenCV では機能しないと結論付けました (最初の推測に大きく依存しています)。関数のドキュメントによるとcalibrateCamera
このアルゴリズムは、次の手順を実行します。
- 初期固有パラメーター (平面キャリブレーション パターンでのみ使用可能なオプション) を計算するか、入力パラメーターから読み取ります。CV_CALIB_FIX_K? が指定されています。
- 内部パラメーターが既知であるかのように、カメラの初期姿勢を推定します。これは、solvePnP を使用して行われます
- グローバルなレーベンバーグ・マルカート最適化アルゴリズムを実行して、再投影誤差、つまり、観測された特徴点 imagePoints と投影された (カメラ パラメーターとポーズの現在の推定値を使用して) オブジェクト ポイント objectPoints の間の距離の二乗の合計を最小化します。詳細については、projectPoints を参照してください。
また、入力として非平面リグを使用する場合は、固有の初期推定値を提供する必要があります。これにより、最初のポイントが確認されます。
それで、私の質問は、非平面リグの組み込み関数 (またはおそらく外部関数と一緒に) を見つける実装を備えた利用可能なライブラリ (任意の言語) はありますか?
c++ - 外部カメラキャリブレーション OpenCV
セットアップに取り付けた 4 台のカメラの外部機能を調整しようとしています。それらは 90 度離れた方向を向いています。私はすでに内因性パラメータを較正しており、外因性を見つけるために較正パターンの画像を使用することを考えています。これまでに行ったことは次のとおりです。キャリブレーション パターンをテーブル上に平らに置き、ロールとヨーの角度が 0 になり、ピッチが 90 になるようにします (カメラと平行になるため)。カメラの偏角は 0、90、180、270 度 (90 度離れているため) で、カメラのロール角は 0 (傾斜していないため) です。したがって、計算する必要があるのは、カメラのピッチ角です。
座標系間のマッピングに慣れていないため、計算方法について頭を悩ませることはできません。どんな助けも大歓迎です。cv::solvePnPRansac()関数を使用して (画像のキャリブレーション パターンの) 回転ベクトルを計算するプログラムの一部を既に作成しているので、回転ベクトルがあります (これを使用して行列にすることができると思います)。cv::ロドリゲス()
計算の次のステップは何ですか?