calib3d_getDefaultNewCameraMatrix

[32/64bit] デフォルトの新しいカメラ行列を返します.

calib3d_getDefaultNewCameraMatrix p1,p2,p3,p4

p1 = sptr : IntPtr cameraMatrix
p2 = ARGS_SIZE : Size imgsize
p3 = int : int centerPrincipalPoint
p4 = var : out IntPtr returnValue

(プラグイン / モジュール : OpenCvSharpExtern.dll)

解説

この関数は,入力された cameraMatrix の完全なコピー(centerPrinicipalPoint=false の場合),あるいは修正されたカメラ行列(centerPrincipalPoint=true の場合)を返します.後者の場合,新しいカメラ行列は次のようになります:??? -? ??? f_x && 0 && ( ??? -? ??? ) 0 && f_y && ( ??? -? ??? ) 0 && 0 && 1 ????デフォルトでは,OpenCV の歪み補正関数( initUndistortRectifyMap, undistort 参照)は,主点を移動させません.しかし,ステレオを扱う場合,両方のビューの主点を同じ y 座標に移動させることが重要であり(これは,ほとんどのステレオ対応点探索アルゴリズムで要求されます),同じ x 座標に移動させることもあります.そこで、各ビューに対して、主点が中心に位置する新しいカメラ行列を形成します。

元関数名(C#): calib3d_getDefaultNewCameraMatrix
元DLLエクスポート名: calib3d_getDefaultNewCameraMatrix
参照元CSファイル: Internal\PInvoke\NativeMethods\calib3d\NativeMethods_calib3d.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) calib3d_getDefaultNewCameraMatrix(
    cv::_InputArray *cameraMatrix, MyCvSize imgsize, int centerPrincipalPoint,
    cv::Mat **returnValue)
{
    BEGIN_WRAP
    const auto result = cv::getDefaultNewCameraMatrix(*cameraMatrix, cpp(imgsize), centerPrincipalPoint != 0);
    *returnValue = new cv::Mat(result);
    END_WRAP
}

情報

プラグイン / モジュールOpenCvSharpExtern.dll
バージョン1.00
作成日2021/11/30
著作者inovia
URLhttps://hsp.moe/
備考#include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as"
使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること
タイプOpenCVSharpラッパーDLL
グループNativeMethods_calib3d
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\OpenCvSharpExtern.hs