掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
opencvのキャリブレーション関数による内部パラメータの出力の値に関して疑問 (ID:73839)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
fx,fyがあるのは,像の縦横比を表現できるようにだと思います. 例えば,「撮影画像を横方向にだけ1.2倍くらいに引き伸ばしたような絵を出力してくるカメラ」 とかがあったら,fxとfyがそれなりに異なる値になります. (ビデオカメラで撮った絵をPCに取りこんだらそんな感じの絵になった経験があります) 内部パラメタの意味(というかカメラモデルの数式)については OpenCVのリファレンスマニュアルでも説明されていますので,一度確認されると良いと思います. 樽型歪が目に見えて存在していて, その歪曲の中心が画像中心付近にあるだろうことが見てわかるような絵なのであれば, 明らかに(Cx,Cy)の結果値がおかしいと思われるので キャリブレーションの作業がうまくいってないような気がします. 校正結果の確認方法として 歪除去画像を見る だけでは不十分に思います. (かなりあまいパラメタ値でも,それなりにまっすぐに見えてしまうことがあるので.) キャリブレーション作業を行う際にはパターンボード撮影画像を何十枚も使うと思いますが, 特徴点の3次元推定座標を 校正結果パラメタを用いて 画像に逆投影した座標を それら撮影画像に重畳表示し,正しい位置に一致するかを確認できれば良いのですが…… cvCalibrateCamera2()とかだと外部パラメタを返してくれないので無理? (戻り値を指標にはできそうですが, final re-projection error とだけ書かれているので 全特徴点での総和なのか,平均とかなのかがいまいち不明ですね.) あとは, パターン撮影画像から得られた特徴点座標がおかしくなっていないか?を 全て目視で確認して, 認識に失敗した絵のデータがうっかり校正計算に用いられていないかを再確認すると良いかもしれません.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.