0

我正在尝试在 c# 中使用 Emgucv 将投影矩阵分解为旋转矩阵、平移矩阵和相机矩阵。我可以使用 RQ-Factorization 轻松做到这一点,但通过检查 Emgucv API 参考我找不到它。

由于 Emgucv 是一个 opencv 包装器,因此我搜索了 opencv 函数,发现了以下 c++ 函数:

void cvDecomposeProjectionMatrix(const CvMat *projMatrix, CvMat *cameraMatrix, 
     CvMat *rotMatrix, CvMat *transVect, CvMat *rotMatrX=NULL, CvMat *rotMatrY=NULL, 
     CvMat *rotMatrZ=NULL, CvPoint3D64f *eulerAngles=NULL)

void RQDecomp3x3(const Mat& M, Mat& R, Mat& Q)

问题是:有什么方法可以在 Emgucv 中使用这些功能?

4

1 回答 1

1

EmguCV 是一个 opencv 包装器,但现在您要使用的功能仍未包装。你有两个选择:

  1. 自己包装一下,看看 CvInvokeCalib3d.cs(或者可能是 emgucv PInvoke 文件夹中的另一个类)如何定义 opencv 函数 PInvoking
  2. 请在 emgu 论坛上为您将其添加到 emgucv svn
于 2012-04-11T00:35:56.017 回答