問題タブ [camera-calibration]
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.
c++ - 画像からのオブジェクトの実際のサイズ
カメラから一定の距離で撮影した画像からオブジェクトの実際のサイズを計算したいと思います。カメラの焦点距離はわかっています。では、画像データだけでオブジェクトの実際のサイズを計算するにはどうすればよいでしょうか??
Opencvを使用してプログラムを実装しています。
前もって感謝します。
PS: このピクセルとセンチメートルの変換については、少し混乱しています。
opencv - 一般的な Web カメラのキャリブレーション
私は、コンピュータ ビジョン技術を使用してクールなことを行う Web サイトを構築しています。ビデオはライブで録画され、ユーザーが Web カメラを使用してアップロードします。このためには、カメラの固有パラメーターと歪みパラメーターが必要です。ユーザーがアップロードしたビデオを考慮して、これらを計算する最良の方法を見つけようとしています。ユーザーがどのような動画をアップロードするかについては推測できませんが、合理的な推測としては、動画に人間が映っている可能性があります。私はまだこれの初期段階にありますが、他の人がこの問題をどのように解決したかを知りたいです。
具体的には、グループの経験豊富な人にコメントしてもらいたい質問を以下に示します。
- 市場で入手可能な一般的な Web カメラの固有パラメータと歪みパラメータを抽出するために、どのようなアルゴリズム、ライブラリ、および手法を利用できますか? [「抽出」と言い、「キャリブレーション」ではなく、固有パラメーターがキャリブレーションを必要としない単なるメソッド呼び出しである場合を含めます]。
- 一般的に、市場で入手可能な Web カメラの固有パラメータと歪みパラメータには、どの程度の差異が見られますか? それらを単一の固有パラメータと歪みパラメータで近似しましたか、またはどのようなアプローチに従いましたか?
- これらのシナリオで使用できるカメラのセルフ キャリブレーション方法はありますか? 役立つ可能性のあるオープンソースまたは商用のライブラリはありますか?
- ビデオのユーザー レコードとアップロードを使用して Web カメラを調整することを目的とする場合、[fx==fy または歪みパラメーターなし] などのパラメーターのどのような仮定が理にかなっていて、合理的に聞こえるでしょうか?
- すべてのカメラの固有パラメータと歪みパラメータの合理的な近似は理にかなっていますか? 特定の固有パラメータと歪みパラメータが特定の Web カメラに対してどの程度優れているかを検証するための合理的なアプローチは何でしょうか?
- 他に考慮すべき問題はありますか?
c++ - OpenCVを使用した3D再構築C ++..基本行列が大きすぎます
わかりました、何も正しくないか、少なくとも正しいことに近いと思われる4日間の無知なプログラミングの後、私の人生の難問をstackoverflowに投稿しています。少し大げさで申し訳ありませんが、今日はお粗末なプログラマーのように感じます。
とにかく、私の問題は次のとおりです。
RANSAC (N>8) を使用して基本行列を取得します。
十分な量のSURFキーポイント(〜308)が正しく一致するように、ベースラインが広いが十分に重なっている2つの画像があります(プロットします)。
今問題があります。2D ポイントを cv::findFindamentalMat に渡しますが、完全に根拠のない結果が得られます。関数は次を返します。
行列の大きなダイナミック レンジを回避するために、Hartley はデータ ポイントを正規化することを提案しました (射影空間の正規化ではなく、ユークリッド空間で)。(10^-9~10^9)
FundMat は縮尺までしか正確ではないことは理解していますが、10^-9 から 10^+9 の差は大きすぎます。
ここで他の質問を参照しましたが、手がかりが得られないようです:
どんなアイデアでも素晴らしいでしょう。これは、ソフトウェア パイプラインの残りのキャリブレーションされていないイメージを検討する際に非常に重要なステップです。
コードが役立つ場合。(インデントも色もありません。スペースが少なすぎます。) https://sites.google.com/site/3drecon124/
computer-vision - カメラのキャリブレーション - チャン vs. ゴールド スタンダード
Multiple View Geometry (Hartley and Zisserman)で説明されているGold Standardアルゴリズムを使用することの短所/利点は、 ZhangがA Flexible New Technique for Camera Calibrationで説明している他の一般的なアルゴリズムを使用する場合と比べて何ですか? 2 つのアルゴリズムの主な違いは理解できますが、どちらが優れているのか、またその理由はわかりません。
opencv - カメラのキャリブレーション - 有理歪みモデル
OpenCV 2.2 関数cameraCalibration(...)を調べていたところ、広角レンズでより適切に機能するはずの新しい放射状歪みモデルを有効にするフラグ CV_CALIB_RATIONAL_MODEL に気付きました。
このモデルは正確にはどこから来たのですか?何らかの形で関連していると思われるいくつかの論文を読みましたが、それらが採用しているモデルは OpenCV によって実装されたものとはかなり異なっているようです。
- 一般的なカメラの有理関数レンズ歪みモデル
- 複数のビュー ジオメトリとレンズ歪みの同時線形推定
モデルの opencv エクスプロイトとその理由について詳しく教えてもらえますか?
python - 非平面リグのOpenCVカメラキャリブレーション
これを yahoo の opencv グループに投稿しましたが、うまくいきませんでした。
チェッカーボードを使用せずに、3D キャリブレーション リグで撮影した 1 つの写真からの一連の画像/オブジェクト ポイントがあります。Bouguet カメラ キャリブレーション ツールボックスを使用して Matlab のデータを使用しましたが、うまくいきました。私は Matlab から離れようとしています (そうすべきではないかもしれません)。
私のコードは以下のとおりです。「\OpenCV-2.3.1\modules\calib3d\src\calibration.cpp:3161: error: (-215) ni >= 0」というエラーが表示され続けます。
opencv 2.3.1 python ラッパーを使用しようとしています。また、私が定義する初期カメラ マトリックスは、Matlab ツールボックスから計算された値に非常に近いものです。これを機能させるよりも、Matlab コードを python に変換する方が簡単だと感じていますが、誰かがそれが間違っていることを証明できることを願っています。助けてくれてありがとう。ジョン
camera - カメラとロボットのキャリブレーション方法
私はロボットとカメラを持っています。ロボットは、押出機をツールに変更した単なる 3D プリンターなので、印刷はしませんが、すべての軸を個別に動かします。ベッドは透明で、ベッドの下にはカメラがあり、カメラは動かない。これは、通常の Web カメラ (プレイステーションの目) です。
カメラが提供する画像のピクセルをクリックすると、ロボットがそこに移動するように、ロボットとカメラを調整したいと考えています。2 つのフレーム間の移動と回転を測定できることはわかっていますが、おそらく多くのエラーが返されるでしょう。
それが私の質問です カメラとロボットをどのように関連付けることができますか? カメラは、チェス盤を使用して既に調整されています。
すべてを簡単にするために、Z 軸は無視できます。したがって、キャリブレーションは X と Y にわたって行われます。
computer-vision - 2 つの画像間の変換がわかっている場合、カメラ位置間の変換を見つける
建物の 2 つの画像が与えられました。これら 2 つの画像間の変換を知っており、座標フレームに対する最初のカメラ位置の座標も知っています。同じ座標で 2 番目の画像のカメラ座標を取得するにはどうすればよいですか? . 私は他に何も情報を与えられていません。
matlab - OpenCV 2.3 カメラのキャリブレーション
OpenCV 2.3
カメラを調整するためにPythonバインディングを使用しようとしています。以下のデータをmatlabで使用しましたが、キャリブレーションは機能しましたが、OpenCVでは機能しないようです。最初の推測として設定したカメラ マトリックスは、matlab ツールボックスから計算された答えに非常に近いものです。
c++ - OpenCV2.3.1およびC++を使用して単一のカメラを調整します
OpenCV2.3.1とVisualStudio2010(c ++コンソールアプリ)を使用してWebカメラを調整しようとしています。私はこのクラスを使用しています:
解像度640x480のチェス盤の画像を10枚使用しています(キャリブレーションにはこれで十分だと思います)。主な関数は次のようになります。
すべてがエラーなしで実行されます。cameraMatrixは次のようになります(おおよそ):
685.65 0 365.14
0 686.38 206.98
0 0 1
キャリブレーションエラーは0.310157で、許容範囲です。
しかし、リマップを使用すると、出力画像は元の画像よりもさらに悪く見えます。サンプルは次のとおりです。
元の画像:]
歪みのない画像:]
だから、問題は、私がキャリブレーションの過程で何か間違ったことをしているのかということです。キャリブレーションには10種類のチェス盤画像で十分ですか?何か提案はありますか?