カメラ キャリブレーターアプリを使用してカメラの内部、外部およびレンズ歪みのパラメーターを推定できます。これらのカメラ パラメーターはさまざまなコンピューター ビジョン アプリケーションに使用できます。これらのアプリケーションは、イメージからレンズ歪みの影響を除去する、平面オブジェクトを測定する、複数のカメラからの 3 次元シーンを再構成するなどを行います。
カメラ キャリブレーター アプリで使用される一連のキャリブレーション関数により、カメラ キャリブレーションのワークフローが提供されます。これらの関数は MATLAB® ワークスペースで直接使用できます。関数の一覧は、単一カメラとステレオ カメラのキャリブレーションを参照してください。
アプリを使用してカメラのキャリブレーションを行うには、次のワークフローに従います。
イメージ、カメラおよびキャリブレーション パターンを準備します。
イメージを追加して、標準のカメラ モデルまたは魚眼カメラ モデルを選択します。
カメラのキャリブレーションを行います。
キャリブレーションの精度を評価します。
必要な場合、パラメーターを調整して精度を高めます。
パラメーター オブジェクトをエクスポートします。
既定の値で問題なく機能する場合には、パラメーターをエクスポートする前に調整を加える必要はありません。カメラ キャリブレーション関数を MATLAB ワークスペースで直接使用して改善させることもできます。関数の一覧は、単一カメラとステレオ カメラのキャリブレーションを参照してください。
MATLAB ツールストリップ: [アプリ] タブの [イメージ処理とコンピューター ビジョン] セクションで、[カメラ キャリブレーター] アイコンをクリックします。
MATLAB コマンド プロンプト: cameraCalibrator
と入力します
より良い結果を得るには、キャリブレーション パターンの 10 ~ 20 枚のイメージを使用してください。カメラ キャリブレーターでは少なくとも 3 枚のイメージが必要です。圧縮なしのイメージか PNG などの可逆圧縮形式を使用してください。キャリブレーション パターンとカメラの設定は、キャリブレーターと連携させるために一連の条件を満たしていなければなりません。キャリブレーションの精度を高めるには、次の手順に従ってパターンの準備、カメラの設定およびイメージの取得を行います。
メモ
カメラ キャリブレーター アプリはチェッカーボード パターンのみをサポートします。異なるタイプのキャリブレーション パターンを使用している場合でも、関数 estimateCameraParameters
を使うとカメラのキャリブレーションを行うことができます。異なるタイプのパターンを使用する場合は、独自のコードを指定してイメージのパターン点を検出する必要があります。
キャリブレーションを開始するには、イメージを追加しなければなりません。フォルダーから保存済みのイメージを追加したり、カメラから直接イメージを追加することができます。キャリブレーターは、イメージを解析してキャリブレーターの要件を満たしていることを確認します。次に、キャリブレーターは、チェッカーボード上の点を検出します。
取り込まれたイメージに問題がなければ、[キャリブレーション] タブで [キャリブレーション] ボタンをクリックします。既定のキャリブレーション設定では、カメラ パラメーターの最小のセットが仮定されます。最初は既定の設定を使用してキャリブレーションを実行してください。その結果を評価し、設定の調整およびイメージの追加または削除を行うことでキャリブレーションの精度を改善してから、再度キャリブレーションを実行します。標準のカメラ モデルと魚眼カメラ モデルを切り替える場合、再キャリブレーションを実行しなければなりません。
キャリブレーションの精度を評価する方法には、再投影誤差の確認、カメラの外部パラメーターの確認または歪み補正されたイメージの表示があります。最良のキャリブレーション結果を得るには、3 つすべての評価方法を使用してください。
キャリブレーションを改善するには、誤差の大きいイメージを削除するか、さらにイメージを追加するか、キャリブレーターの設定を修正します。
キャリブレーションで満足できる精度が得られたら、[カメラ パラメーターのエクスポート] をクリックします。[カメラ パラメーターのエクスポート] を選択するか、カメラ パラメーターを MATLAB スクリプトとして生成するために、カメラ パラメーターをオブジェクトに保存またはエクスポートできます。
[1] Zhang, Z. “A Flexible New Technique for Camera Calibration.” IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. 22, Number. 11, 2000, pp. 1330–1334.
[2] Heikkila, J. and O. Silven. “A Four-step Camera Calibration Procedure with Implicit Image Correction.” IEEE International Conference on Computer Vision and Pattern Recognition. 1997.
[3] Scaramuzza, D., A. Martinelli, and R. Siegwart. "A Toolbox for Easy Calibrating Omindirectional Cameras." Proceedings to IEEE International Conference on Intelligent Robots and Systems (IROS 2006). Beijing, China, October 7–15, 2006.
[4] Urban, S., J. Leitloff, and S. Hinz. "Improved Wide-Angle, Fisheye and Omnidirectional Camera Calibration." ISPRS Journal of Photogrammetry and Remove Sensing. Vol. 108, 2015, pp.72–79.
cameraParameters
| detectCheckerboardPoints
| estimateCameraParameters
| generateCheckerboardPoints
| showExtrinsics
| showReprojectionErrors
| stereoParameters
| undistortImage
| カメラ キャリブレーター | ステレオ カメラ キャリブレーター