最近、ピンホールカメラのモデルを勉強していたのですが、OpenCV で提供されているモデルと「コンピュータービジョンにおける複数ビューの幾何学」の教科書に戸惑いました。
以下の写真は、像面とカメラフレームの位置を入れ替えた単純化したモデルだと思います。説明と理解を深めるために、主点 (u0,v0) を考慮すると、2 つのフレーム間の関係はx=f(X/Z)+u0
と になりy=f(Y/Z)+v0
ます。
しかし、通常、画像座標は次のように第 4 象限座標の形式になっているため、非常に混乱しました。
次の定義の (x,y) を、実際には説得力のない上記の「同等の」ピンホール モデルに直接置き換えることはできますか?
また、オブジェクトがカメラ座標の領域 (+X,+Y) 象限にある場合 (もちろん、Z>f)、同等のモデルでは、画像座標の右半平面に表示されるはずです。しかし、通常のカメラで撮影した画像では、そのような物体は左半分に位置するはずです。したがって、私にとってこのモデルは合理的ではありません。
最後に、元のモデルに基づいて次のように導出しようとしました。
結果はx1=-f(X/Z)
とy1=-f(Y/Z)
です。
次に、(x2,y2)座標とカメラ座標の関係を調べてみました。結果はx2=-f(X/Z)+u0
とy2=-f(Y/Z)+v0
です。
(x3,y3) 座標とカメラ座標の間で、結果はx3=-f(X/Z)+u0
と になりy3=f(Y/Z)+v0
ます。
どの座標系を試しても、一部の CV 教科書で提供されているx=f(X/Z)+u0
との形式になっているものはありません。y=f(Y/Z)+v0
さらに、(x2,y2) 座標または (x3,y3) 座標の投影結果も、同じ理由で妥当ではありません: カメラ座標の (+X,+Y,+Z) 領域にあるオブジェクトカメラで撮影した画像の左半分の平面に「表示」する必要があります。
誰かが私が誤解したことを指摘できますか?