0

I'm trying to use Emgucv in c# to decompose a projection matrix into a rotation matrix, a translation matrix and a camera matrix. I could easily do it with RQ-Factorization but I couldn't find it by inspecting Emgucv API reference.

Since Emgucv is a opencv wrapper I search opencv functions and I've found the following c++ functions:

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)

The question is: Is there any way I can use these functions with Emgucv?

Bruna
  • 366
  • 2
  • 15

1 Answers1

1

EmguCV is an opencv wrapper but right now the function you want to use is still not wrapped. You have two options:

  1. Wrap it yourself taking a look at how CvInvokeCalib3d.cs (or maybe another class inside emgucv PInvoke folder) define opencv functions PInvoking
  2. Ask on emgu forum to add it to emgucv svn for you
Luca Del Tongo
  • 2,702
  • 16
  • 18