opencv - 使用关键点计算对象相似度

标签 opencv computer-vision

我正在尝试获取某个对象在用相机拍摄的图像中的位置。在这种情况下,模板匹配不起作用,因为我需要一个缩放/旋转不变的解决方案。

所以我现在使用 OpenCV 的 FAST 算法来检测我图像中的关键点,这似乎效果很好。

但接下来呢?我有一个要检测的对象的“模板图像”。我可以想象我也必须检测这个模板图像的关键点,然后将它的显示方式与用相机拍摄的图像进行比较。这是我接下来要做的吗?如果是,我可以使用哪些功能?? (我正在使用 OpenCV)

或者有其他方法吗?

那么我如何使用关键点来检测图像中的特定对象?

最佳答案

您正在使用 FAST 检测关键点,没问题。

现在下一步是使用Descriptor Extractor。什么是描述符提取器?是一种生成关键点描述的算法,使该关键点可被匹配器识别。著名的描述符是 SIFT、FREAK...

在模板图像和查询图像中找到描述符后,您将需要一个匹配器。匹配器会告诉您哪些描述符相同。

请注意,SIFT 需要基于欧氏距离的匹配器 (FLANN),但 FREAK 或其他二进制描述符需要基于汉明距离的匹配器。

关于opencv - 使用关键点计算对象相似度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8065822/

相关文章:

image-processing - OpenCV 识别直线和曲线

python - 如何用新数据更新 SVM 模型

Python:提取 GLGCM 特征

python - 通过在 python 中的相似性进行图像聚类

c# - 虽然想要创建 SIFTDetector : Get an Attempted to read or write protected memory exception Error 的实例

c++ - InitUndistortRectifyMap 和 Remap

python - 分水岭分割: Cannot split some cells

python - matplotlib选择图像的框区域然后放大

python - 使用 OpenCV (solvePnP+projectPoints) 绘制棋盘格用于姿势估计的引用框架

python - 如何拼接使用广角镜头拍摄的重叠区域较小的图像?