问题标签 [feature-detection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2217 浏览

c++ - 从对象的不同角度找到一个好的单应性?

我正在使用特征提取(sift,orb)进行对象检测。

我想从对象(训练图像)的不同角度提取 ORB 特征,然后将它们与查询图像进行匹配。

我面临的问题是:我怎样才能从来自不同角度的图像的关键点创建一个好的单应性,当然有不同的大小?

编辑

我正在考虑为每个有 3-4 个匹配的火车图像创建一个单应性,然后计算一些“平均”单应性......

例如,当您从每个火车图像中说只有 1-2 个匹配项时,就会出现问题,此时您甚至无法创建 1 个单应性

创建单应性的代码

0 投票
2 回答
3658 浏览

c - 如何确定用于多边形逼近的 cvCanny 的最佳参数

这是我的源图像(忽略这些点,它们是稍后手动添加的):

在此处输入图像描述

我的目标是获得两只手的粗略多边形近似。像这样的东西:

在此处输入图像描述

我对如何做到这一点有一个大致的想法;我想用它cvCanny来寻找边缘,cvFindContours寻找轮廓,然后cvApproxPoly.

我面临的问题是我不知道如何正确使用cvCanny,特别是最后3个参数(threshold1&2,apertureSize)我应该使用什么?我试着做:

但结果并不理想。左手看起来比较好,但右手检测得很少:

在此处输入图像描述

一般来说,它不像我想要的那样可靠。有没有办法猜测 Canny 的“最佳”参数,或者至少对他们所做的事情进行详细解释(初学者可以理解),以便我可以做出有根据的猜测?或者也许有更好的方法来完全做到这一点?

0 投票
4 回答
54707 浏览

opencv - 使用 OpenCV 提取 HoG 特征

我正在尝试使用 OpenCV 的 HoG API 提取特征,但是我似乎找不到允许我这样做的 API。

我想要做的是使用 HoG 从我的所有数据集(一组正负图像)中提取特征,然后训练我自己的 SVM。

我在 OpenCV 下查看了 HoG.cpp,但没有帮助。所有代码都隐藏在复杂性和迎合不同硬件的需要中(例如英特尔的 IPP)

我的问题是:

  1. 是否有任何来自 OpenCV 的 API 可用于提取所有这些特征/描述符以输入到 SVM 中?如果有我如何使用它来训练我自己的 SVM ?
  2. 如果没有,是否有任何现有的库可以完成同样的事情?

到目前为止,我实际上正在将现有库 (http://hogprocessing.altervista.org/) 从 Processing (Java) 移植到 C++,但它仍然非常慢,检测至少需要 16 秒

有没有其他人成功地提取了 HoG 特征,你是怎么解决的?你有任何我可以使用的开源代码吗?

提前致谢

0 投票
0 回答
1035 浏览

c++ - AutotunedIndexParams 的 OpenCV Flann 问题

我在使用 AutotunedIndexParams 进行 openCV 2.4.2 flann 索引时遇到问题。如果我使用多个图像来创建索引,程序将退出并输出:

那是我在 JavaCV 中得到的相同代码的类似错误,其中错误如下:

在 openCVs miniflann.cpp 中,我发现p["algorithm"]设置了多行,这可能与问题有关吗?

为了在这里测试我的 C++ 代码,如果需要,我也会发布 java 代码;-)

图片可以在这里找到:图片

0 投票
2 回答
926 浏览

matlab - 用 SIFT 检测数字图像上的印章(印章)印记

我正在开发一个应用程序,该应用程序应确定输入图像是否包含印记并返回其位置。对于 RGB 图像,我使用颜色分割并进行验证(使用各种形状因子),对于灰度图像,我认为 SIFT + 验证可以完成这项工作,但使用 SIFT 只会找到我在我的数据库。

在理想情况下,它工作得非常好,如下图所示。

图 1. http://i.stack.imgur.com/JHkUl.png

当输入图像包含数据库中不存在的标记时,会出现此问题。我做的第一件事是检查如果我将类似的印章与输入图像上的印章进行比较,是否会有任何匹配的关键点。在大多数情况下,没有单个匹配的关键点,如果有的话,它们宁愿参考输入图像的其他部分而不是戳记,如图 2 所示:

图 2. http://i.stack.imgur.com/coA4l.png

我还尝试在输入图像和圆形图像之间找到匹配,因为印章是圆形的,但圆形图像的关键点很少(如果有的话)。

所以我想知道是否有任何不同的方法可以让 SIFT 在这种情况下更有用?我想从我的数据库中创建一个包含所有描述符和关键点的矩阵,然后在输入图像和矩阵之间寻找最近的欧几里得距离,但它可能不会工作,因为整个数据库中有很多匹配的关键点(不需要) (见图 2)。

我正在使用 Matlab 并尝试了 VLFeat 和 D. Lowe SIFT 实现。

编辑:

所以我找到了一种强制 SIFT 计算图像上用户定义点的描述符的方法。我的测试图像包含一个圆圈,然后计算描述符并与输入图像匹配,包括图 1 和图 2 下的图像。这个过程重复了从 0 到 10 的尺度。不幸的是它也没有帮助。

0 投票
1 回答
1012 浏览

opencv - 质心椭圆 MSER OPENCV

我正在研究一种图像配准方法,我想使用基于区域的特征检测器。作为代表并且因为它已经在opencv中实现,我想到了MSER。

我知道如何检测 MSER 区域。MSER 检测器给出了点向量内的 MSER 区域,一个轮廓。我想检索这些轮廓的质心。我可以在它们上面放置一个椭圆,但是我不知道如何检索这些椭圆的质心。有人知道是否已经实现了可以处理此任务的功能吗?还是我必须开发一个算法?

原因是我想使用这个质心点作为有趣的点来执行点对应。

谢谢

伊万

0 投票
4 回答
7685 浏览

matlab - 用于对象检测的 HOG 描述符

我想知道,对于像“汽车”这样的对象的 HOG 描述符是否有任何实现,而不是 MATLAB 中的 Human?

但万一,只有人类,你能引导我到那个代码,并给我这样的提示,以改进用于“汽车或摩托车等物体”的代码

0 投票
2 回答
6774 浏览

c - 使用 OpenCV 检测小圆圈(图像质量差)

我正在尝试检测您可以在这张图片的中心看到的四个点: 在此处输入图像描述 这个被转换为 png,我实际上使用的是 ppm 格式(从相机的原始输出转换后)。实际处理的图像可在此处获得

我是opencv的新手,因此在检测这些点时遇到了很大的问题。这是我迄今为止最好的结果: 在此处输入图像描述

如您所见,我检测到了 3 个点,但除此之外,图片中的许多其他东西也被识别为圆圈。

这是代码:

你知道如何帮助吗?我将不胜感激。我认为人眼很容易发现这些点,所以我希望我可以使用计算机检测它们。

0 投票
2 回答
6288 浏览

c - OpenCV cvFindContours 只找到一个轮廓

我正在继续我的 openCV 工作,这是我在这里描述的第一次冒险。它进行得很好,但我偶然发现了另一件棘手的事情。我想在已应用自适应阈值的图像上找到轮廓:

在此处输入图像描述

所以这cvFindContours似乎工作得很好,结果如下:

在此处输入图像描述

问题是,当我尝试遍历找到的计数时,它说只有一个轮廓(contours->total在下面的代码中等于 1)。这是代码:

应该是这样,只有一个轮廓吗?也许我不明白openCV对轮廓的定义?我会很感激你的帮助。

0 投票
1 回答
6233 浏览

opencv - opencv - 使用特征检测的对象跟踪

我想在视频中跟踪一个对象(例如,一个移动的球)。参考 opencv 教程 - 'Features2D + Homography to find a known object',我已经能够通过提供参考图像在静止图像中跟踪我的对象。我计划使用参考图像从输入视频的第一帧中检测移动对象。对于下一帧,在前一帧中检测到的对象应作为参考图像,依此类推。

但我不知道如何从它的描述符中找回一个对象。包含多个对象的图像将具有多个关键点,但是如何找到关键点或一组关键点属于图像中的哪个对象。