Main Content

cameraIntrinsics

内部カメラ パラメーターを格納するオブジェクト

説明

カメラの内部キャリブレーション パラメーターに関する情報を格納します (レンズ歪みパラメーターなど)。

作成

説明

intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize) は、焦点距離とカメラの主点を含むカメラの内部パラメーター オブジェクトを返します。3 つの入力引数は、それぞれ FocalLengthPrincipalPoint、および ImageSize のプロパティを設定します。

intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize,Name,Value) は、1 つ以上の名前と値のペアを使用して、追加のプロパティを設定します。各プロパティ名を引用符で囲みます。

たとえば、intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize,"RadialDistortion",[0 10]) は、半径方向のレンズ歪みプロパティ RadialDistortion をベクトル [0 10] として設定します。

プロパティ

すべて展開する

x と y の焦点距離。ピクセル単位の 2 要素ベクトル [fx fy] として格納されます。

fx = F * sx

fy = F * sy

F はワールド単位 (通常はミリメートル単位) の焦点距離です。sx と sy はそれぞれ x 方向と y 方向におけるワールド単位あたりのピクセル数を表します。したがって、fx と fy はピクセル単位です。

焦点距離 F は画角に影響を与えるため、イメージ内で焦点が合っているように見えるシーンの領域に影響します。被写体の距離が固定されている場合、次のようになります。

  • 焦点距離が短いと画角が広くなり、シーンの広い領域に焦点を合わせてキャプチャできます。被写体とシーンの背景の両方を際立たせます。

  • 焦点距離が長いと画角が狭くなるため、焦点の合うシーンの領域が減ります。被写体がより強調され、キャプチャされる背景の量が制限されます。

cameraIntrinsics オブジェクトを作成した後で FocalLength の値を設定することはできません。

カメラの光学的中心。ピクセル単位の 2 要素ベクトル [cx cy] として格納されます。ベクトルには、カメラの光学的中心の座標が含まれます。

cameraIntrinsics オブジェクトを作成した後で PrincipalPoint の値を設定することはできません。

カメラによって生成されるイメージのサイズ。2 要素ベクトル [mrows ncols] として格納されます。

cameraIntrinsics オブジェクトを作成した後で ImageSize の値を設定することはできません。

半径方向のレンズ歪み。2 要素ベクトル [k1 k2] または 3 要素ベクトル [k1 k2 k3] として指定します。要素 k1、k2、および k3 は半径方向歪み係数です。

半径方向歪みとは、主点から伸びる放射状の線に沿ったイメージ ポイントの変位です。

  • イメージ ポイントが主点から離れると (半径方向の正の変位)、イメージの倍率が下がり、イメージに糸巻き型歪みが出現する。

  • イメージ ポイントが主点に向かって移動すると (半径方向の負の変位)、イメージの倍率が上がり、イメージに樽状の歪みが出現する。

Three grids: one with pincushion distortion (positive radial displacement), one with no distortion, and one with barrel distortion (negative radial displacement)

カメラ パラメーター オブジェクトは、点の半径方向歪み位置を計算します。歪んだ点は (xdistorted, ydistorted) として次のように表されます。

xdistorted = x(1 + k1*r2 + k2*r4 + k3*r6)

ydistorted = y(1 + k1*r2 + k2*r4 + k3*r6)

x、y は歪み補正後のピクセル位置
k1、k2 および k3 はレンズの半径方向の歪み係数
r2 = x2 + y2
通常は 2 つの係数で十分です。歪みが大きい場合は、k3 を含めることができます。歪み補正後のピクセル位置は、光学的中心を原点とする正規化されたイメージ座標に示されます。この座標はワールド単位で表されます。

円周方向歪み係数。2 要素ベクトル [p1 p2] として指定します。円周方向の歪みは、レンズとイメージ平面が平行にならない場合に生じます。

Comparison of zero tangential distortion and tangential distortion

カメラ パラメーター オブジェクトは、点の円周方向歪み位置を計算します。歪んだ点は (xdistorted, ydistorted) として次のように表されます。

xdistorted = x + [2 * p1 * x * y + p2 * (r2 + 2 * x2)]

ydistorted = y + [p1 * (r2 + 2*y2) + 2 * p2 * x * y]

x、y は歪み補正後のピクセル位置
p1 および p2 はレンズの円周方向歪み係数
r2 = x2 + y2
歪み補正後のピクセル位置は、光学的中心を原点とする正規化されたイメージ座標に示されます。この座標はワールド単位で表されます。

カメラの軸のせん断。数値スカラーとして指定します。x 軸と y 軸が厳密に直交する場合、せん断は 0 でなければなりません。

このプロパティは読み取り専用です。

カメラの内部パラメーターの行列。3 行 3 列の行列として指定します。行列の形式は次のとおりです。

[fxscx0fycy001]

座標 [cx cy] はピクセル単位の光学的中心 (主点) を表します。x 軸と y 軸が厳密に直交する場合、せん断パラメーター s は 0 に等しくなります。

fx = F*sx

fy = F*sy

F は焦点距離のワールド単位で、通常はミリメートル単位で表されます。
sx と sy は、それぞれ x と y 方向のワールド単位あたりのピクセル数です。
fx と fy はピクセル単位で表されます。

すべて折りたたむ

レンズ歪みやせん断のないカメラ パラメーターを定義します。

焦点距離と主点をピクセル単位で指定します。

focalLength    = [800 800]; 
principalPoint = [320 240];
imageSize      = [480 640];

カメラの内部パラメーター オブジェクトを作成します。

intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize)
intrinsics = 
  cameraIntrinsics with properties:

             FocalLength: [800 800]
          PrincipalPoint: [320 240]
               ImageSize: [480 640]
        RadialDistortion: [0 0]
    TangentialDistortion: [0 0]
                    Skew: 0
                       K: [3×3 double]

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2017a で導入

すべて展開する