問題タブ [fisheye]
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++ - 魚眼歪み機能で直線を歪ませて画像に正しく描画する
世界座標に線があり、それを画像に投影します(この質問math.stackexchangeで説明されているように)。これにより、画像空間で単純な直線方程式が得られるため、画像内で OpenCV を使用して簡単に印刷できます。
次に、ラインを魚眼カメラ画像に投影したいと思います。対応する非線形歪み関数があるため、ポイントを簡単に歪めることができます。単純な方法は、この関数を使用して、生成されたラインから各ポイントを歪めることです。しかし、それはいくつかの線分と未設定のピクセル (通常は歪んだ線に属します) につながります。
正しい歪んだ線を取得するための賢い方法は何でしょうか。たぶん、線の投影を別の方法で処理する必要もありますか? 直線をより頻繁にサンプリングすることもできますが (つまり、サブピクセル座標を使用して)、正しい解決策を保証するものではないと思います。
編集:
私の歪み関数は単純な多項式です
ここa
で、 は光軸に対する歪みのない入射光線の角度であり、 はr
歪みのある画像のピクセルまでの半径です。詳細については、こちらをご覧ください。
matrix - ポイントライト シャドウ マップに使用できる射影行列を取得するにはどうすればよいですか?
現在、シャドウ テクスチャを使用してシャドウをレンダリングするプロジェクトに取り組んでいます。
スポットライトの方向に必要なテクスチャは 1 つだけなので、スポットライトの場合は非常に簡単でしたが、すべての方向に 6 つのテクスチャまたはポイントライトの周囲のすべてのオブジェクトをレンダリングする 1 つのテクスチャが必要なため、少し難しくなります。
そして、それが私の問題です。ポイントライトの周りに 360 度の角度ですべてのオブジェクトをレンダリングする投影マトリックスを生成するにはどうすればよいですか?
基本的に、魚眼 (または他の 360 度カメラ) の頂点シェーダーを作成するにはどうすればよいですか?
opencv - 魚眼画像の歪みを補正するエラー
チェッカーボードの 20 枚の画像セットを使用して魚眼レンズを調整しました。ポイントはすべて正しくラベル付けされており、固有値とレンズ歪み係数を取得しています。
「正方形サイズ」変数を 15 mm に対して 15 に定義すると、歪み係数が 0 になり、焦点距離が ~600 になります。0.015 に設定すると、歪み係数と焦点距離が ~1200 になります。どちらの場合も、投影の中心は画像のほぼ中間点であり、妥当です。
画像に歪み補正を適用しようとすると、非常に奇妙な結果が得られます。
私はなぜなのか理解していない。歪み係数が 0 の場合でも、この画像が得られます。誰かがそれを助けることができれば、それは大歓迎です!