[32/64bit] フリースケーリングパラメータに基づいた,新しいカメラ固有の行列を返します.
calib3d_getOptimalNewCameraMatrix_InputArray p1,p2,p3,p4,p5,p6,p7,p8
p1 = sptr : IntPtr cameraMatrix p2 = sptr : IntPtr distCoeffs p3 = ARGS_SIZE : Size imageSize p4 = double : double alpha p5 = ARGS_SIZE : Size newImgSize p6 = var : out Rect validPixROI p7 = int : int centerPrincipalPoint p8 = var : out IntPtr returnValue
(プラグイン / モジュール : OpenCvSharpExtern.dll)
この関数は,フリースケーリングパラメータに基づいて,最適な新しいカメラ固有の行列を計算し,それを返します.このパラメータを変化させることで,意味のあるピクセルだけを取り出したり alpha=0 ,コーナーに貴重な情報がある場合に元画像のピクセルをすべて残したり alpha=1 ,その中間の値を得たりすることができます.alpha>0の場合,歪みのない結果には,キャプチャされた歪んだ画像の外側にある「仮想」ピクセルに対応するいくつかの黒いピクセルが含まれる可能性があります.元のカメラの内部行列,歪み係数,計算された新しいカメラの内部行列,そして newImageSize は,リマップ用のマップを生成するために initUndistortRectifyMap に渡されなければいけません. 元関数名(C#): calib3d_getOptimalNewCameraMatrix_InputArray 元DLLエクスポート名: calib3d_getOptimalNewCameraMatrix_InputArray 参照元CSファイル: Internal\PInvoke\NativeMethods\calib3d\NativeMethods_calib3d.cs ▼ C言語側関数定義
CVAPI(ExceptionStatus) calib3d_getOptimalNewCameraMatrix_InputArray( cv::_InputArray *cameraMatrix, cv::_InputArray *distCoeffs, MyCvSize imageSize, double alpha, MyCvSize newImgSize, MyCvRect* validPixROI, int centerPrincipalPoint, cv::Mat **returnValue) { BEGIN_WRAP cv::Rect _validPixROI; const auto mat = cv::getOptimalNewCameraMatrix(*cameraMatrix, entity(distCoeffs), cpp(imageSize), alpha, cpp(newImgSize), &_validPixROI, centerPrincipalPoint != 0); *validPixROI = c(_validPixROI); *returnValue = new cv::Mat(mat); END_WRAP }
プラグイン / モジュール | OpenCvSharpExtern.dll |
バージョン | 1.00 |
作成日 | 2021/11/30 |
著作者 | inovia |
URL | https://hsp.moe/ |
備考 | #include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as" 使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること |
タイプ | OpenCVSharpラッパーDLL |
グループ | NativeMethods_calib3d |
対応環境 |
|
hs ファイル | hsphelp\OpenCvSharpExtern.hs |