Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 使用matchTemplate在使用opencv的两个图像之间查找大量的变换、旋转和缩放_Visual C++_Opencv_Image Processing - Fatal编程技术网

Visual c++ 使用matchTemplate在使用opencv的两个图像之间查找大量的变换、旋转和缩放

Visual c++ 使用matchTemplate在使用opencv的两个图像之间查找大量的变换、旋转和缩放,visual-c++,opencv,image-processing,Visual C++,Opencv,Image Processing,我想提取模板图像和源图像之间的变换、旋转和缩放量。我想使用模板匹配,但我不知道如何提取变换、旋转和缩放量。有人能帮我吗?您提出的问题可以通过多种方式解决,但模板匹配似乎不是正确的解决方案 解决这个问题的一种方法是计算每张图片中的关键点,然后你可以找到两张图片中特征的一致性。获得匹配后,可以计算两对点集之间的映射。下面显示了一个带有卡的示例。请注意,您需要处理错误的匹配,但也有相应的算法。您可以找到一个使用OpenCV的SIFT示例 更复杂的处理方式是执行点集注册。有一种非常好的算法称为给定两个

我想提取模板图像和源图像之间的变换、旋转和缩放量。我想使用模板匹配,但我不知道如何提取变换、旋转和缩放量。有人能帮我吗?

您提出的问题可以通过多种方式解决,但模板匹配似乎不是正确的解决方案

  • 解决这个问题的一种方法是计算每张图片中的关键点,然后你可以找到两张图片中特征的一致性。获得匹配后,可以计算两对点集之间的映射。下面显示了一个带有卡的示例。请注意,您需要处理错误的匹配,但也有相应的算法。您可以找到一个使用OpenCV的SIFT示例
  • 更复杂的处理方式是执行点集注册。有一种非常好的算法称为给定两个点集,它计算点之间的对应关系,并在双步骤优化(期望最大化)中估计变换。CPD可以假定不同类型的变换,例如刚性变换、仿射变换和非刚性变换。CPD是在Matlab中通过mex用C编写的

    这听起来是个坏主意。模板匹配需要精确的副本,任何旋转或缩放都只会降低它的性能。相反,要进行特征匹配(冲浪、筛选等),并从中找到我关心的是精确副本的单应性。嗨,如果这是你需要的,请不要忘记接受答案。