我是计算机视觉的新手。 我正在使用Open CV提出的http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html算法,以计算同一环境的2个场景之间的一些匹配点(城市)在拍摄图像的相机旋转平移后进行。 摄像机和环境都经过模拟(因此亮度没有变化,没有失真等)。显然,帧速率足够高,可以使大部分图像重叠。 之后,我必须使用这一点来计算仿射变换矩阵,该矩阵描述相机进行的移动(从中获取图像的高度不会随时间变化)。 因此,对于每对图像,我至少需要2个匹配点。我的问题是匹配点通常小于3。是否存在一些健壮的方法可以更好地达到我的目的? 谢谢

===============>>#1 票数:0

我相信您提供的示例中实现的过滤是非常幼稚的。 假设您获得了一个得分很高的比赛( min_dist了描述符之间的距离),那么min_dist确实很小,可能会过滤掉好的比赛。 换句话说,得分最高的比赛不一定是几何上最好的比赛(两个特征看上去确实很相似,但不一定是真实世界的对应关系)...

您可以尝试做的是:

  • 删除过滤实现; 保留所有比赛
  • 使用findHomography()计算单应矩阵
    • findHomography()允许您使用mask来跟踪内部值
  • 仅绘制mask中标记为内线的匹配项

这应该是更好的验证。

  ask by Matteo translate from so

未解决问题?本站智能推荐:

4回复

带有ORB描述符的opencv FLANN?

我试图使用带有ORB描述符的FLANN,但opencv崩溃了这个简单的代码: 如果我使用SurfDescriptorExtractor()它运作良好。 我怎么解决这个问题? OpenCV说:
1回复

OpenCV - 匹配SURF点运行时错误

我有一个程序,它将模板图像中的特征点与视频源中显示的特征点相匹配。 当我运行该程序时,我收到以下错误: 这是上面提到的函数drawMatches : 根据我的阅读,我认为问题是如果视频中找到的特征点与模板图像中的特征点不匹配,那么程序就会中止。 即使没有匹配,我也在寻找
2回复

OpenCV SURF描述符匹配

这是用于比较我在OpenCV示例的find_obj.cpp中找到的SURF描述符的函数。 我基本上不明白如何计算描述符之间的欧几里得距离。 是一次计算每个第i个描述符还是整个图像? 我知道这是一个基本问题,但非常感谢您的回复。 谢谢。
1回复

如何比较opencv中匹配的kepoint的大小

我将使用opencv中的SURF检测器比较图像。 对于这项工作,我需要比较关键点的大小和方向。 例如,我必须提取比第一张图片匹配的关键点匹配的第二张图片。 (关键点1.size>关键点2.size)。 问题: 如何在opencv中提取匹配的关键点的大小?
1回复

城市环境中特征检测的最佳算法 - OpenCV

我正在使用OpenCV库(C ++)从来自航空相机的视频流接收器的2个图像中提取探测器,以便之后在连续图像中找到匹配点。 我想知道哪个是找到城市环境强大探测器的最佳算法? PS。 实际上我正在使用SURF,但是当图像变化很小时(因为相机的翻译非常缓慢),这些描述符之间的匹配变得非常少!
2回复

OpenCV将图像,关键点和描述符保存到文件中

我正在使用SURF / FLANN探测器,我正在寻找将图像,点,描述符保存到文件中,这样我就可以比较这个图像,然后将它指向第二个图像并指向我但是当我得到以下错误时试着写: 这是我用来编写的代码: 我不确定在哪里可以指定额外的参数( tempDescriptors_1 ),因为它可
3回复

OpenCV 2.2 SURF功能匹配问题

我已经修改了OpenCV演示应用程序“matching_to_many_images.cpp”来查询图像(左)到网络摄像头的帧(右)。 第一张图片的右上角出了什么问题? 我们认为这与我们遇到的另一个问题有关。 我们从一个空的数据库开始,我们只添加唯一的(与我们数据库中的功能不匹配的功
1回复

体育赛事期间的OpenCV横幅匹配

我希望在竞技场墙壁上的体育赛事期间匹配图像上的商业横幅。 我用过这个例子 。 如果图像足够大,它的工作效果非常好( scene_1 )。 但是如果存在某种失真,或者图片小于某个限制( scene_2 ),那么它就会变得疯狂,此外OpenCV会使匹配完全无关。 匹配良好且失败的示例:
3回复

OpenCV - 冲浪算法 - 给出大量误报

我正在学习OpenCV,并开始探索用于图像匹配的SURF算法。 我通过修改Microsoft Windows 7提供的默认图像创建了一个示例图像库。 每个图像在同一文件夹中都有旋转,缩放,模糊和倾斜的版本。 我找到匹配图像的代码如下所示。 从代码中可以看出,距离是由行dis /
2回复

OpenCV具有检测和匹配功能 - 绘图匹配时的段错误

按照这个例子 , 我正在尝试构建一个应用程序来识别视频中的对象。 我的程序由以下步骤组成(请参阅下面每个步骤的代码示例): 将要识别的对象的图像读入cv::Mat对象。 检测对象和计算描述符中的关键点。 阅读视频的每一帧, 检测帧的关键点和计算描述符,