问题标签 [feature-descriptor]
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.
image-processing - SURF兴趣点参数
我想使用 -p1 命令将替代兴趣点作为 SURF 的输入(我正在使用作者的实现: http: //www.vision.ee.ethz.ch/~surf/download.html)。但我不确定如何处理这些参数。
我需要x,y,a,b,c
根据自述文件给出每个兴趣点,a=c
并且radius= 1/a^2
([a,b;b,c]
作为二阶矩矩阵的条目)。但是当我查看 surf 的 IP 检测的输出文件时,a,c 参数总是非常小(例如0.003
)。如果radius=1/a^2
,那么这将给出1/(0.003^2) > 100.000
像素的区域半径。我误解了 README 文件,还是a,c
surf 返回的参数不正确?
opencv - 如何将 OpenCV 特征描述符标准化为整数尺度?
OpenCV SURF 实现为图像中找到的每个特征点返回一系列 64/128 32 位浮点值(描述符)。有没有办法标准化这个浮点值并将它们带到一个整数比例(例如,[0, 255])?这将节省重要的空间(每个值 1 或 2 个字节,而不是 4 个)。此外,转换应确保描述符对于其他用途(例如聚类)仍然有意义。
谢谢!
image - 处理 DMatch 向量,访问数据 Opencv
我已经计算了描述符,但现在,我想清理异常值,然后将其从关键点转换为浮点数。
我知道这可以通过以下方式自动完成
但这仅在下一步是绘制匹配项时才有用,实际上我想做的是在某些图像配准中获得最佳的 25 个匹配项以进行后处理。
任何帮助都会很有用。谢谢
伊万
opencv - SurfDescriptorExtractor 不创建描述符矩阵
我对 OpenCV 中的 SurfDescriptorExtractor 有疑问。它根本不会创建矩阵!
问题是我正在强加关键点,而现在,为了调试,我只使用其中的 4-5 个。我使用 cv::Keypoint 创建关键点,并使用默认构造函数。我把点的坐标和八度设置为3。其余的,我不碰它!
这是我正在做的一段代码:
这就是我创建关键点的方式,这就是循环中的内容:
那么,有没有办法强制提取器在描述符中写一些东西?
java - 无法在android中实现描述符
我正在创建一个应用程序来查找两个图像之间的匹配。我无法正确找到匹配结果。
匹配方法给了我与输入关键点相同数量的描述符,我也无法得出这个结果。我在工作区中使用 OpenCV 作为库。
这是我的代码。
c++ - 打印关键点描述符矩阵opencv的值
我在打印通过使用任何 opencv 描述符提取器的“计算”方法获得的描述符矩阵的值时遇到了一些问题。我想将一个特征的描述符一个一个地打印到一个文件中,但是当我使用“at”访问描述符矩阵的某个元素时,我会收到该元素的不同值。以下是我在使用'at'时用来测试描述符矩阵的输出值的'for'循环:
第二个'if'是一个测试'if',我在访问描述符元素时查看打印的值。现在,由印刷
在 nF - 2 迭代中,我得到以下结果:
正如预期的那样,前两个打印在第二个“if”中:
给我 [20]
但是另外两张
和
给我 0 而不是 20。我之前展示的 nF-2 行的完整结果,当使用 'at' 访问元素并打印它们时是:
这与我的预期完全不同。我已经尝试了很多东西:使用 float、double、unsigned int 而不是仅使用 int 进行强制转换,以及分配给这些类型的变量;在打印之前转换矩阵,复制矩阵然后转换,创建具有不同类型的描述符矩阵......但它们都不起作用。我怀疑它与描述符矩阵的类型有关,尽管我几乎可以肯定它具有 uchar 类型(我检查了 elemSize)
在此先感谢,对我的英语和问题的大小感到抱歉。
matlab - 如何使用 Mikolajczyk 的特征检测器/描述符评估框架?
我正在尝试使用Mikolajczyk 等人的事实上的标准框架来评估我的 SURF 描述符实现的正确性。人_ 我使用 OpenCV 来检测和描述 SURF 特征,并使用相同的特征位置作为我的描述符实现的输入。
为了评估描述符性能,该框架需要首先评估检测器的可重复性。不幸的是,可重复性测试需要一个特征位置列表以及定义每个特征周围图像区域的大小和方向的椭圆参数。然而,OpenCV 的 SURF 检测器只提供特征位置、比例和方向。
相关论文提出从二阶矩矩阵的特征值迭代计算这些椭圆参数。这是唯一的方法吗?据我所知,这需要对 OpenCV 进行一些摆弄。之后有没有办法从特征列表和输入图像中计算那些椭圆参数(例如在Matlab中)?
有没有人使用过这个框架并且可以帮助我提供一些见解或指示?
c++ - 从gpu特征描述符转换的opencv特征描述符的问题
我在使用openvc将GPU特征描述符矩阵转换为CPU特征描述符矩阵时遇到了一些问题,使用:
如您所见,此方法将保存描述符的 GpuMat 转换为保存它们的浮点向量。问题是,当我访问这个向量的某个元素时,返回的值与预期的间隔完全不同0
to 255
。我制作了以下测试程序来比较通过SURF_GPU
and获得的提取时间和描述SURF
:
检查 的元素descriptorsConverted
,我希望得到 和 之间的值0
,255
就像我访问 的元素时得到的一样descriptorsCPU
。相反,我得到了如下值:
我怀疑这个问题与返回的类型有关downloadDescriptors
,尽管很明显它返回了一个浮点向量。
opencv - SIFT描述符匹配的有效方法
有 2 个图像 A 和 B。我从中提取关键点(a[i] 和 b[i])。
我想知道如何有效地确定 a[i] 和 b[j] 之间的匹配?
对我来说,显而易见的方法是将 A 中的每个点与 B 中的每个点进行比较。但是对于大型图像数据库来说,它非常耗时。我怎样才能将点 a[i] 与 k 范围较小的 b[k] 进行比较?
我听说kd-tree可能是一个不错的选择,不是吗?有没有关于kd-tree 的好例子?
还有其他建议吗?