Ask Your Question

Revision history [back]

Just Figured it out! You can directly multiply with the Point3d to transform the point like this.

Point3d Pt3D_Camera(0.0,0.0,0.0),
            Pt3D_Origin(0.0,0.0,0.0);
Mat RotationVector(1,3,CV_64FC1,Scalar(0.0));
Mat TranslationVector(3,1,CV_64FC1,Scalar(1.0));
Affine3d AffineTransform= Affine3d(RotationVector,TranslationVector);

Pt3D_Camera= cam_pose * Pt3D_Origin;

cout << "RotationVector: \n"        << RotationVector <<endl;
cout << "TranslationVector: \n "    << TranslationVector <<endl;
cout << "AffineTransform: \n"       << AffineTransform.matrix <<endl;           
cout << "Pt3D_Camera: \n"           << Pt3D_Camera <<endl;

Just Figured it out! You can directly multiply with the Point3d to transform the point like this.

Point3d Pt3D_Camera(0.0,0.0,0.0),
            Pt3D_Origin(0.0,0.0,0.0);
Mat RotationVector(1,3,CV_64FC1,Scalar(0.0));
Mat TranslationVector(3,1,CV_64FC1,Scalar(1.0));
Affine3d AffineTransform= Affine3d(RotationVector,TranslationVector);

Pt3D_Camera= cam_pose * AffineTransform* Pt3D_Origin;

cout << "RotationVector: \n"        << RotationVector <<endl;
cout << "TranslationVector: \n "    << TranslationVector <<endl;
cout << "AffineTransform: \n"       << AffineTransform.matrix <<endl;           
cout << "Pt3D_Camera: \n"           << Pt3D_Camera <<endl;