|
OpenCV 4.5.3(日本語機械翻訳)
|
名前空間 |
|
| namespace | cv::fisheye |
| この名前空間のメソッドは、いわゆる魚眼カメラモデルを使用しています。 |
|
関数 |
|
| CV_EXPORTS void | cv::fisheye::projectPoints (InputArray objectPoints, OutputArray imagePoints, const Affine3d &affine, InputArray K, InputArray D, double alpha=0, OutputArray jacobian=noArray()) |
| 魚眼モデルを用いたプロジェクトポイント[【詳解】(英語]
|
|
| CV_EXPORTS_W void | cv::fisheye::projectPoints (InputArray objectPoints, OutputArray imagePoints, InputArray rvec, InputArray tvec, InputArray K, InputArray D, double alpha=0, OutputArray jacobian=noArray()) |
| CV_EXPORTS_W void | cv::fisheye::distortPoints (InputArray undistorted, OutputArray distorted, InputArray K, InputArray D, double alpha=0) |
| 魚眼モデルを使って2次元の点を歪めます。[【詳解】(英語]
|
|
| CV_EXPORTS_W void | cv::fisheye::undistortPoints (InputArray distorted, OutputArray undistorted, InputArray K, InputArray D, InputArray R=noArray(), InputArray P=noArray()) |
| 魚眼レンズを用いた2次元点の歪みの補正[【詳解】(英語]
|
|
| CV_EXPORTS_W void | cv::fisheye::initUndistortRectifyMap (InputArray K, InputArray D, InputArray R, InputArray P, const cv::Size &size, int m1type, OutputArray map1, OutputArray map2) |
| による画像変換に対して,歪み補正マップと平行化マップを計算します.remap. D が空の場合は,ゼロディストーションが利用され,R または P が空の場合は,単位行列が利用されます.[【詳解】(英語]
|
|
| CV_EXPORTS_W void | cv::fisheye::undistortImage (InputArray distorted, OutputArray undistorted, InputArray K, InputArray D, InputArray Knew=cv::noArray(), const Size &new_size=Size()) |
| 魚眼レンズの歪みを補正するために画像を変換します。[【詳解】(英語]
|
|
| CV_EXPORTS_W void | cv::fisheye::estimateNewCameraMatrixForUndistortRectify (InputArray K, InputArray D, const Size &image_size, InputArray R, OutputArray P, double balance=0.0, const Size &new_size=Size(), double fov_scale=1.0) |
| 歪み補正や平行化のために,新しいカメラ固有の行列を推定します.[【詳解】(英語]
|
|
| CV_EXPORTS_W double | cv::fisheye::calibrate (InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints, const Size &image_size, InputOutputArray K, InputOutputArray D, OutputArrayOfArrays rvecs, OutputArrayOfArrays tvecs, int flags=0, TermCriteria criteria=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 100, DBL_EPSILON)) |
| カメラのキャリブレーションを行います.[【詳解】(英語]
|
|
| CV_EXPORTS_W void | cv::fisheye::stereoRectify (InputArray K1, InputArray D1, InputArray K2, InputArray D2, const Size &imageSize, InputArray R, InputArray tvec, OutputArray R1, OutputArray R2, OutputArray P1, OutputArray P2, OutputArray Q, int flags, const Size &newImageSize=Size(), double balance=0.0, double fov_scale=1.0) |
| 魚眼カメラモデルのステレオ平行化[【詳解】(英語]
|
|
| CV_EXPORTS_W double | cv::fisheye::stereoCalibrate (InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints1, InputArrayOfArrays imagePoints2, InputOutputArray K1, InputOutputArray D1, InputOutputArray K2, InputOutputArray D2, Size imageSize, OutputArray R, OutputArray T, int flags=fisheye::CALIB_FIX_INTRINSIC, TermCriteria criteria=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 100, DBL_EPSILON)) |
| ステレオキャリブレーションを行う[【詳解】(英語]
|
|
Definitions: Let P be a point in 3D of coordinates X in the world reference frame (stored in the matrix X) The coordinate vector of P in the camera reference frame is:
where R is the rotation matrix corresponding to the rotation vector om: R = rodrigues(om); call x, y and z the 3 coordinates of Xc:
The pinhole projection coordinates of P is [a; b] where
Fisheye distortion:
The distorted point coordinates are [x'; y'] where
Finally, conversion into pixel coordinates: The final pixel coordinates vector [u; v] where:
| CV_EXPORTS_W double cv::fisheye::calibrate | ( | InputArrayOfArrays | objectPoints, |
| InputArrayOfArrays | imagePoints, | ||
| const Size & | image_size, | ||
| InputOutputArray | K, | ||
| InputOutputArray | D, | ||
| OutputArrayOfArrays | rvecs, | ||
| OutputArrayOfArrays | tvecs, | ||
| int |
flags
=
0,
|
||
| TermCriteria |
criteria
=
TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 100, DBL_EPSILON) |
||
| ) |
カメラのキャリブレーションを行います.
| objectPoints | キャリブレーションパターン座標空間における,キャリブレーションパターンポイントのベクトル. |
| imagePoints | imagePoints.size() と objectPoints.size() および imagePoints[i].size() は,各 i について objectPoints[i].size() と等しくなければならない. |
| image_size | 画像のサイズは,カメラ固有の行列を初期化するためにのみ利用されます. |
| K | 3x3 浮動小数点型カメラ内部行列の出力 . fisheye::CALIB_USE_INTRINSIC_GUESS が指定された場合,この関数を呼び出す前に fx, fy, cx, cy の一部または全部を初期化する必要があります. |
| D | 歪み係数の出力ベクトル . |
| rvecs | 各パターンビューに対して推定された回転ベクトル(Rodrigues参照)の出力ベクトル.つまり,各k番目の回転ベクトルは,対応するk番目の並進ベクトル(次の出力パラメータの説明を参照)とともに,キャリブレーションパターンを(オブジェクトポイントが指定されている)モデル座標空間からワールド座標空間,つまり,k番目のパターンビュー(k=0...)におけるキャリブレーションパターンの実位置へと導く.M-1). |
| tvecs | パターンビューごとに推定された並進ベクトルの出力ベクトル. |
| flags | 0または以下の値の組み合わせとなる異なるフラグ。
|
| criteria | 反復最適化アルゴリズムの終了基準. |
| CV_EXPORTS_W void cv::fisheye::distortPoints | ( | InputArray | undistorted, |
| OutputArray | distorted, | ||
| InputArray | K, | ||
| InputArray | D, | ||
| double |
alpha
=
0 |
||
| ) |
魚眼モデルを使って2次元の点を歪めます。
| undistorted | オブジェクトポイントの配列,1xN/Nx1 2-channel (または vector<Point2f> ),ここで N はビュー内のポイント数を表します. |
| K | カメラ固有の行列 . |
| D | 入力 歪み係数のベクトル . |
| alpha | スキュー係数. |
| distorted | 出力は,1xN/Nx1 2チャンネルの画像点の配列,または vector<Point2f> です. |
この関数は,歪んでいない点のカメラ固有の行列を,恒等式と仮定していることに注意してください.つまり,歪んでいない点を元に戻したい場合はfisheye::undistortPointsで歪んでいない点を元に戻したい場合は,それらの点に以下を掛けなければいけません
.
| CV_EXPORTS_W void cv::fisheye::estimateNewCameraMatrixForUndistortRectify | ( | InputArray | K, |
| InputArray | D, | ||
| const Size & | image_size, | ||
| InputArray | R, | ||
| OutputArray | P, | ||
| double |
balance
=
0.0,
|
||
| const Size & |
new_size
=
Size(),
|
||
| double |
fov_scale
=
1.0 |
||
| ) |
歪み補正や平行化のために,新しいカメラ固有の行列を推定します.
| K | カメラ固有の行列 . |
| image_size | 画像のサイズ |
| D | 入力 歪み係数のベクトル . |
| R | オブジェクト空間における平行化変換:3x3 1チャンネル,またはベクトル.3x1/1x3 1ch または 1x1 3ch |
| P | 新しいカメラ固有の行列(3x3)または新しい投影行列(3x4)。 |
| balance | 新しい焦点距離を、最小焦点距離から最大焦点距離の間で設定します。バランスは、[0, 1]の範囲です。 |
| new_size | 新しいサイズ |
| fov_scale | 新しい焦点距離の除数. |
| CV_EXPORTS_W void cv::fisheye::initUndistortRectifyMap | ( | InputArray | K, |
| InputArray | D, | ||
| InputArray | R, | ||
| InputArray | P, | ||
| const cv::Size & | size, | ||
| int | m1type, | ||
| OutputArray | map1, | ||
| OutputArray | map2 | ||
| ) |
による画像変換に対して,歪み補正マップと平行化マップを計算します.remap. D が空の場合は,ゼロディストーションが利用され,R または P が空の場合は,単位行列が利用されます.
| K | カメラ固有の行列 . |
| D | 入力 歪み係数のベクトル . |
| R | オブジェクト空間における平行化変換:3x3 1チャンネル,またはベクトル.3x1/1x3 1ch または 1x1 3ch |
| P | 新しいカメラ固有の行列(3x3)または新しい投影行列(3x4)。 |
| size | 歪みのない画像サイズ. |
| m1type | 最初に出力されるマップの種類は, CV_32FC1 または CV_16SC2 です.参照convertMapsを参照してください。 |
| map1 | 第1の出力マップ. |
| map2 | 2番目の出力マップ. |
| CV_EXPORTS void cv::fisheye::projectPoints | ( | InputArray | objectPoints, |
| OutputArray | imagePoints, | ||
| const Affine3d & | affine, | ||
| InputArray | K, | ||
| InputArray | D, | ||
| double |
alpha
=
0,
|
||
| OutputArray |
jacobian
=
noArray() |
||
| ) |
魚眼モデルを用いたプロジェクトポイント
| objectPoints | 1xN/Nx1 3チャンネルのオブジェクトポイントの配列(または vector<Point3f> ). |
| imagePoints | 2xN/Nx2 の 1 チャンネル,または 1xN/Nx1 の 2 チャンネル,あるいは vector<Point2f> で表される,画像上の点の配列を出力します. |
| affine | |
| K | カメラ固有の行列 . |
| D | 入力 歪み係数のベクトル . |
| alpha | スキュー係数. |
| jacobian | オプションで,焦点距離の成分に対する画像点の微分,主点の座標,歪み係数,回転ベクトル,並進ベクトル,スキューに関する2Nx15ヤコビ行列を出力します.従来のインターフェースでは,ヤコビ行列の異なる成分が,異なる出力パラメータによって返されていました. |
この関数は,カメラの内部および外部パラメータを与えて,3次元点の画像平面への投影を求めます.また,オプションとして,(すべての入力パラメータの関数としての)画像点座標の偏微分の行列であるヤコビアンを,特定のパラメータ(内在および外在)に関して計算します.
| CV_EXPORTS_W void cv::fisheye::projectPoints | ( | InputArray | objectPoints, |
| OutputArray | imagePoints, | ||
| InputArray | rvec, | ||
| InputArray | tvec, | ||
| InputArray | K, | ||
| InputArray | D, | ||
| double |
alpha
=
0,
|
||
| OutputArray |
jacobian
=
noArray() |
||
| ) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
| CV_EXPORTS_W double cv::fisheye::stereoCalibrate | ( | InputArrayOfArrays | objectPoints, |
| InputArrayOfArrays | imagePoints1, | ||
| InputArrayOfArrays | imagePoints2, | ||
| InputOutputArray | K1, | ||
| InputOutputArray | D1, | ||
| InputOutputArray | K2, | ||
| InputOutputArray | D2, | ||
| Size | imageSize, | ||
| OutputArray | R, | ||
| OutputArray | T, | ||
| int |
flags
=
fisheye::CALIB_FIX_INTRINSIC,
|
||
| TermCriteria |
criteria
=
TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 100, DBL_EPSILON) |
||
| ) |
ステレオキャリブレーションを行う
| objectPoints | キャリブレーションパターンの点のベクトル。 |
| imagePoints1 | 第一カメラで観測されたキャリブレーションパターン点の投影のベクトル |
| imagePoints2 | 第2カメラで観測されたキャリブレーションパターン点の投影結果のベクトル。 |
| K1 | 入出力 第一カメラ固有マトリクス: , . fisheye::CALIB_USE_INTRINSIC_GUESS , fisheye::CALIB_FIX_INTRINSIC のいずれかが指定された場合は,行列成分の一部または全部を初期化しなければならない。 |
| D1 | 歪曲係数の入出力ベクトル 4つの要素の |
| K2 | 入出力される2番目のカメラの内部行列.このパラメータは,K1 と同様です. |
| D2 | 入力/出力される第2カメラのレンズ歪み係数.パラメータは,D1 と同様です. |
| imageSize | カメラ固有の行列を初期化するためだけに使われる画像のサイズ. |
| R | 第1カメラと第2カメラの座標系間の回転行列の出力. |
| T | カメラの座標系間の並進ベクトルを出力します. |
| flags | 0または以下の値の組み合わせとなる異なるフラグ。
|
| criteria | 反復最適化アルゴリズムの終了基準. |
| CV_EXPORTS_W void cv::fisheye::stereoRectify | ( | InputArray | K1, |
| InputArray | D1, | ||
| InputArray | K2, | ||
| InputArray | D2, | ||
| const Size & | imageSize, | ||
| InputArray | R, | ||
| InputArray | tvec, | ||
| OutputArray | R1, | ||
| OutputArray | R2, | ||
| OutputArray | P1, | ||
| OutputArray | P2, | ||
| OutputArray | Q, | ||
| int | flags, | ||
| const Size & |
newImageSize
=
Size(),
|
||
| double |
balance
=
0.0,
|
||
| double |
fov_scale
=
1.0 |
||
| ) |
魚眼カメラモデルのステレオ平行化
| K1 | 1台目のカメラの固有マトリクス. |
| D1 | 第1カメラの歪みパラメータ. |
| K2 | 第2カメラの固有マトリクス. |
| D2 | 第二カメラの歪みパラメータ |
| imageSize | ステレオキャリブレーションに使われる画像のサイズ. |
| R | 1 台目と 2 台目のカメラの座標系間の回転行列 |
| tvec | カメラの座標系間の移動ベクトル |
| R1 | 1台目のカメラに対する3x3の平行化変換(回転行列)の出力 |
| R2 | 2 台目のカメラに対する 3x3 の平行化変換(回転行列)の出力 |
| P1 | 1台目のカメラの新しい(平行化された)座標系における3x4の射影行列を出力。 |
| P2 | 2台目のカメラの新しい(平行化された)座標系における3x4の投影行列を出力する. |
| Q | 出力 視差-深度マッピング行列( reprojectImageTo3D 参照). |
| flags | ゼロ,あるいは fisheye::CALIB_ZERO_DISPARITY のいずれかの操作フラグ.このフラグがセットされている場合,この関数は各カメラの主点が,平行化されたビューにおいて同じピクセル座標になるようにします.また,このフラグがセットされていない場合でも,有用な画像領域を最大化するために,(エピポーラ線の向きに応じて)水平または垂直方向に画像を移動させることがあります. |
| newImageSize | 整形後の新しい画像の解像度。には,同じサイズを渡す必要があります.initUndistortRectifyMap(OpenCV samples ディレクトリにある stereo_calib.cpp サンプルを参照してください).(0,0) を渡した場合(デフォルト),これは元の imageSize に設定されます.これを大きな値に設定すると,特に大きな半径方向の歪みがある場合に,元の画像のディテールを保持するのに役立ちます. |
| balance | 新しい焦点距離を、最小焦点距離から最大焦点距離の間で設定します。バランスは、[0, 1]の範囲です。 |
| fov_scale | 新しい焦点距離の除数. |
| CV_EXPORTS_W void cv::fisheye::undistortImage | ( | InputArray | distorted, |
| OutputArray | undistorted, | ||
| InputArray | K, | ||
| InputArray | D, | ||
| InputArray |
Knew
=
cv::noArray(),
|
||
| const Size & |
new_size
=
Size() |
||
| ) |
魚眼レンズの歪みを補正するために画像を変換します。
| distorted | 魚眼レンズの歪みがある画像を出力します。 |
| undistorted | 魚眼レンズの歪みが補正された出力画像。 |
| K | カメラ固有の行列 . |
| D | 入力 歪み係数のベクトル . |
| Knew | 歪んだ画像のカメラ固有の行列.デフォルトでは単位行列ですが、追加で別の行列を使って結果を拡大・縮小することができます。 |
| new_size | 新しいサイズ |
この関数は,半径方向と接線方向のレンズ歪みを補正するために,画像を変換します.
この関数は,単純に以下の組み合わせですfisheye::initUndistortRectifyMap(単一のRを持つ) とremap(バイリニア補間) を組み合わせたものです.実行される変換の詳細については,前者の関数を参照してください。
以下に,undistortImage の結果を示します.
写真a)とb)は、ほぼ同じです。しかし、画像の中心から離れた場所にある画像の点を考えてみると、画像a)ではこれらの点が歪んでいることがわかります。
| CV_EXPORTS_W void cv::fisheye::undistortPoints | ( | InputArray | distorted, |
| OutputArray | undistorted, | ||
| InputArray | K, | ||
| InputArray | D, | ||
| InputArray |
R
=
noArray(),
|
||
| InputArray |
P
=
noArray() |
||
| ) |
魚眼レンズを用いた2次元点の歪みの補正
| distorted | オブジェクトポイントの配列,1xN/Nx1 2-channel (または vector<Point2f> ),ここで N はビュー内のポイント数を表します. |
| K | カメラ固有の行列 . |
| D | 入力 歪み係数のベクトル . |
| R | オブジェクト空間における平行化変換:3x3 1チャンネル,またはベクトル.3x1/1x3 1ch または 1x1 3ch |
| P | 新しいカメラ固有の行列(3x3)または新しい投影行列(3x4)。 |
| undistorted | 出力は,1xN/Nx1 2チャンネルの画像点の配列,または vector<Point2f> です. |