Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
C++ opencv中的缩放和旋转模板匹配_C++_Image_Opencv - Fatal编程技术网

C++ opencv中的缩放和旋转模板匹配

C++ opencv中的缩放和旋转模板匹配,c++,image,opencv,C++,Image,Opencv,我想用一幅模板图像在另一幅图像中搜索目标,但是目标的缩放和旋转都发生了变化,而且目标中混合了与目标颜色相同的噪声。 如下图所示 我想通过使用椭圆而不是矩形来获得目标。如图2 我该怎么做呢?我试着使用matchtemplate函数,但是效果不好。另外,我也试着使用matchShapes()来做,但是该函数需要输入两个轮廓进行比较。由于目标混合了噪声,目标图像中的coutour不是我需要的coutour。我不知道。你能帮助我并给我一些建议吗?提前谢谢 您需要计算缩放和旋转不变特征。存在几种声称具有这

我想用一幅模板图像在另一幅图像中搜索目标,但是目标的缩放和旋转都发生了变化,而且目标中混合了与目标颜色相同的噪声。 如下图所示 我想通过使用椭圆而不是矩形来获得目标。如图2

我该怎么做呢?我试着使用matchtemplate函数,但是效果不好。另外,我也试着使用matchShapes()来做,但是该函数需要输入两个轮廓进行比较。由于目标混合了噪声,目标图像中的coutour不是我需要的coutour。我不知道。你能帮助我并给我一些建议吗?提前谢谢


您需要计算缩放和旋转不变特征。存在几种声称具有这些特性的特征描述符。尺度不变性通常通过匹配目标的一组不同尺度来模拟。另一种方法是首先规范化目标的缩放和旋转


请看这里:

您可以尝试广义霍夫变换(GHT),使用模板查找轮廓。我记得,opencv(gpu)示例中有现成的实现(在我的机器上有opencv/samples/gpu/generalized_hough.cpp)


这里还有一个有用的源代码链接:

您可以尝试更高级别的功能描述,因为更高级别的描述更容易匹配,但是,首先,为了获得更高级别的描述,您可能再次陷入这个问题……谢谢您的回答。但是我认为使用功能很难获得黄色圆圈。