[32/64bit] ホモグラフィ行列を,回転(複数),並進(複数),平面法線(複数)に分解します.
calib3d_decomposeHomographyMat p1,p2,p3,p4,p5,p6
p1 = sptr : IntPtr H p2 = sptr : IntPtr K p3 = sptr : IntPtr rotations p4 = sptr : IntPtr translations p5 = sptr : IntPtr normals p6 = var : out int returnValue
(プラグイン / モジュール : OpenCvSharpExtern.dll)
この関数は,平面物体の2つのビュー間の相対的なカメラの動きを抽出し,回転,並進,平面法線の最大4つの数学的解のタプルを返す.ホモグラフィ行列Hの分解については,[160]で詳しく述べられています.平面によって誘導されたホモグラフィHが、ソース画像点\(p_i\)とデスティネーション画像点\(p'_i\)に制約を与える場合、回転と平行移動のタプルを返します。とすると,回転[k]と並進[k]のタプルは,ソースカメラの座標系からデスティネーションカメラの座標系への基底の変更となる.ただし,H を分解することで,シーンの(通常は未知の)深度で正規化された並進,つまり,方向は正規化された長さでしか得られません.点の対応が得られる場合は,正の深度制約,つまり,すべての点がカメラの前になければならないという制約を適用することで,少なくとも2つの解がさらに無効になることがあります. 元関数名(C#): calib3d_decomposeHomographyMat 元DLLエクスポート名: calib3d_decomposeHomographyMat 参照元CSファイル: Internal\PInvoke\NativeMethods\calib3d\NativeMethods_calib3d.cs ▼ C言語側関数定義
CVAPI(ExceptionStatus) calib3d_decomposeHomographyMat(
cv::_InputArray *H,
cv::_InputArray *K,
std::vector<cv::Mat> *rotations,
std::vector<cv::Mat> *translations,
std::vector<cv::Mat> *normals,
int *returnValue)
{
BEGIN_WRAP
*returnValue = cv::decomposeHomographyMat(*H, *K, *rotations, *translations, *normals);
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 |