opencv - 计算两个坐标系中给定点之间的变换

标签 opencv coordinate-systems coordinate-transformation

我有两个世界坐标系,例如coorAcoorB。每个系统有 4 个点(带有 xyz 的 3D 点),并且都位于右手坐标系中。

我已经用cv::svd尝试过,但结果不正确。我想计算从 coorAcoorB 的旋转和平移矩阵。我怎么做?

最佳答案

您的系统是过度定义的,因此您应该使用一种最小化错误度量的方法。梅山的方法是一个很好的解决方案。

从你的标签来看,你更喜欢 OpenCV 中的解决方案,但你需要自己实现这样的方法。 您似乎正在使用 C++,最简单的解决方案可能是使用 Eigen 数学头库及其函数 Eigen::umeyama 。 OpenCV 可以做data conversions to Eigen .

关于opencv - 计算两个坐标系中给定点之间的变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38954308/

相关文章:

opencv - 具有唯一标识符的行人检测

python - 计算地球上两个坐标之间的距离

openlayers - OSM : convert ties from projected coordinates in spherical mercator "EPSG:900913" to "EPSG:4326" coordinates

javascript - 地理定位、准确性和仿射变换 : What is causing my inaccurate conversion from a lat/long location into a point on my image

python - 如何使用 ezdxf python 包修改现有的 dxf 文件?

c++ - glm::translate - 它是否从 vector 构建矩阵?

python - 如何在pygame和pyopengl中独立旋转2个对象

c++ - Opencv:如何计算矩形 vector 的镜像

java - Android 使用 opencv 对静态图像进行人脸检测?

python - 为什么图像值不会根据阈值改变