2

我是 OpenCV 的新手,我正在学习做一些图像处理。作为我项目的一部分,我遇到了将椭圆形式的图像补丁变形为目标椭圆的问题。据我了解,我需要计算两个补丁之间的仿射变换,然后将此转换扭曲到目标补丁中。浏览互联网寻求帮助,我没有找到一种方法来计算两个椭圆补丁之间的仿射变换。我在正确的轨道上吗?如果您能给我一些如何进行或在哪里寻找更多信息的建议,我将不胜感激。

4

1 回答 1

1

您的元素是椭圆的事实与变换的计算无关。变换同样适用于任意形状。假设你有关于某个原点 O 的仿射变换 [A] 和 [B],你想要 [A] 和 [B] 之间的变换。有几种方法可以考虑这样做,最简单的一种是从 [A] 到 O 的转换,然后从 O 到 [B] 并将它们组合起来。[A] 到 O 只是 [A] 的倒数,而 O 到 [B] 只是 [B] 所以

final_transform = [B]*inverse([A]);

是一个类似的问题,用向量表示求解同样有效。

要进行实际的变形,您可以使用cv::warpAffine

于 2012-10-09T16:14:26.723 回答