通过Emgucv调用opencv



我正在尝试在c#中使用Emgucv将投影矩阵分解为旋转矩阵,平移矩阵和相机矩阵。我可以很容易地用RQ分解来做到这一点,但我无法通过检查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中使用这些功能吗?

EmguCV 是一个 opencv 包装器,但现在你想使用的函数仍然没有包装。您有两种选择:

  1. 自己包装一下,看看CvInvokeCalib3d.cs(或者emgucv PInvoke文件夹中的另一个类)如何定义opencv函数PInvoking
  2. 在emgu论坛上询问将其添加到emgucv svn

最新更新