これを OpenCV フォーラムに投稿しましたが、今のところ返信がないので、ここで試してみてください。
2.4.0 リファレンス マニュアルの 352 ページには、次の注記があります。
注: 非正方形 (=NxN 以外) のグリッドを使用し、キャリブレーションに findChessboardCorners() を使用している場合、 calibrationCamera は不適切な値を返します (歪み係数がゼロで、画像の中心が (w/2-0.5,h/2- 0.5)、および/または fx と fy の大きな違い (比率が 10:1 以上)) の場合、おそらく patternSize=cvSize(cols,rows) infindChessboardCorners() を使用する代わりに patternSize=cvSize(rows,cols) を使用しています。
これは私を混乱させます。チェス盤の行と列を定義するものは何ですか? 結局、チェス盤を回転させたり動かしたりしながら、キャリブレートカメラで使用するデータ セットを収集します。
とても遠いとは?私は正方形ではないチェス盤、1292x964、1/3 フォーマット、4 mm 非球面レンズを持っています。フル ワイドでは、cx =639 および cy=550 になります。理想的には、これらは 1292/2 = 646 および 964/2= 457 であるべきです。
cy で取得している 550 と予想される 457 は「大きな違い」ですか?
patternSize で幅/高さを交換する必要がありますか? もしそうなら、カメラのイメージャーに関してチェス盤の行と列の概念を維持するために、キャリブレーション中にチェス盤の回転を制限する必要があることを意味しますか?
ありがとう、デイブ・トーマス