我使用opencv 3.0。
我使用这样的cv::Affine3d
声明:
cv::Vec3d om = ...;
cv::Vec3d T = ...;
cv::Affine3d aff(om, T);
然后我用aff
这样的方式将 X 转换为 Y:
cv::Vec3d X;
cv::Vec3d Y = aff*X;
现在,我想做逆变换将 Y 转换为 X?
我使用opencv 3.0。
我使用这样的cv::Affine3d
声明:
cv::Vec3d om = ...;
cv::Vec3d T = ...;
cv::Affine3d aff(om, T);
然后我用aff
这样的方式将 X 转换为 Y:
cv::Vec3d X;
cv::Vec3d Y = aff*X;
现在,我想做逆变换将 Y 转换为 X?
我会假设
cv::Affine3d affInverse = aff.inv(); // Calls inv() on the internal matrix
// and returns a new object from that.
cv::Vec3d xPrime = affInverse * Y;
成功了。有关更多信息,请参阅您提到的标题。
此外,文档应提供有关Matx
存储在Affine3d
.
希望有帮助!