我想提取模板图像和源图像之间的变换、旋转和缩放量。我想使用模板匹配,但我不知道如何提取变换、旋转和缩放量。有人可以帮助我吗?
最佳答案
您提出的问题可以通过多种方式解决,但模板匹配似乎不是正确的解决方案。
- 解决此问题的一种方法可能是使用 SIFT计算每张图像中的关键点,然后您可以找到两张图片之间特征的一致性。获得匹配项后,您可以计算 homography两对点集之间的映射。下面显示了一个带有卡片的示例。请注意,您需要处理错误的匹配,但有一些算法可以做到这一点。您可以找到使用 OpenCV 进行 SIFT 的示例 here .
- 一种更复杂的处理方法是执行点集注册。有一个非常好的算法叫CPD给定两个点集,它计算点之间的对应关系并估计双步优化(期望最大化)中的变换。 CPD 可以假设不同类型的变换,例如刚性变换、仿射变换和非刚性变换。 CPD 是通过 mex 用 C 语言在 Matlab 中编写的。
关于visual-c++ - 使用 matchTemplate 使用 opencv 查找两个图像之间的变换、旋转和缩放量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22206772/