gpt4 book ai didi

matlab - 在 Opencv C++ 中估计几何变换

转载 作者:行者123 更新时间:2023-12-02 16:21:30 25 4
gpt4 key购买 nike

实际上,我想在 opencv c++ 中使用“估计几何变换”matlab 的函数,它们在 c++ 中的 opencv 中是否有任何类型的函数完全相同?

Matlab function

备注 :我正在使用此功能根据特征在一对眼睛周围创建边界框,这些特征在每一帧中都不是静态的......

最佳答案

我认为你想要得到的是 仿射变换矩阵从 image1 到 image2。
给定 image1 和 image2 中一组匹配点的坐标,您可以使用 estimateRigidTransform 获得仿射变换矩阵:正如文档指出的那样,此函数可用于将两组预先计算的匹配点作为输入,甚至直接将两张图片作为输入 :该函数将在内部找到两个图像中匹配的特征,并将使用这些匹配点来获取 最优仿射变换矩阵 .

正如用户 Micka 在对您的问题的评论中正确建议的那样,由于您具有可以平移、旋转和缩放的功能,因此您需要设置标志 fullAffinefalse .

由于您在谈论帧,我想您正在尝试匹配视觉流中的点,所以这肯定是您需要的功能。
可以使用 getAffineTransform 获得同样可能具有剪切的图像。 :给定两个图像中的一组点,这个 opencv 函数将返回一个 2x3 仿射变换矩阵。为了更好地理解什么是仿射变换(从而更好地理解相似变换,在你的情况下),您可以引用以下文档。它们完全相同,只是当前两个 OpenCV 分支的两个版本。

我更喜欢 2.4 文档的布局,但解释的概念是完全一样的。

开放CV 2.4:

http://docs.opencv.org/2.4/modules/imgproc/doc/geometric_transformations.html

开放CV 3.2:

http://docs.opencv.org/3.2.0/da/d54/group__imgproc__transform.html#ga8f6d378f9f8eebb5cb55cd3ae295a999

关于matlab - 在 Opencv C++ 中估计几何变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40972501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com