我正在尝试将图像与已知图像集进行比较,并使用Emgu CV和Surf找到最接近的匹配项。我发现很多人都试图做同样的事情,但不是一个使用GPU来提高速度的完整解决方案。
我得到的最接近的是这里的教程:
http://romovs.github.io/blog/2013/07/05/matching-image-to-a-set-of-images-with-emgu-cv/
然而,这并没有利用GPU,它对我的应用程序来说真的很慢。我需要像SurfFeature样本一样快速的东西。
所以我尝试重构该教程代码以匹配使用GPU的SurfFeature逻辑。 GpuMat在这里和那里取代Matrix的一切都很顺利。但是当我进入上面教程的核心时,我遇到了一个主要问题,也就是说,将所有描述符连接成一个大矩阵的逻辑。我找不到相互追加GpuMat的方法 - 即使我能做到这一点,也不能保证FlannIndex搜索例程甚至可以使用基于Gpu的代码。
所以现在我陷入了一些我认为相对简单的事情。多年来肯定有很多人试图这样做,所以我真的很惊讶没有公布的解决方案。
如果你能帮助我,我会非常感激。总而言之,我需要做以下事情:
使用Surf(根据SurfFeature示例)为已知的一组图像构建大型内存(在GPU上)描述符和关键点列表。给定未知图像,搜索内存中的内容以找到最接近的匹配(如果有)。
如果您能提供帮助,请提前致谢!