问题标签 [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.

0 投票
2 回答
3807 浏览

java - 在Android(Java)中将opencv矩阵转换为字符串以存储在数据库中的最佳方法

我想将随机 OpenCV 描述符提取器生成的描述符矩阵存储为数据库实体。

假设 desc 是描述符矩阵

为了从数据库中取回矩阵,我做了

这工作正常,但需要很多时间,尤其是 .split 方法和涉及 parseInt 的循环,因为矩阵中有大量元素(在我的情况下约为 100k)。

我的问题是:有没有更好的方法来做到这一点?

我的第二个问题是,来吧,分配一个 100K 长的字符串数组并解析它(考虑到字符串实际上最多 2-3 个字符)不应该真的需要 2 秒,是因为 Android/Java 很慢

0 投票
1 回答
210 浏览

c++ - OpenCV:extractor->descriptorSize() - Segfault

我正在尝试按照本教程进行对象检测,但我一开始就卡住了。

到目前为止,我的代码是这样的:

以下行extractor->descriptorSize();给出了分段错误(核心转储),我不知道为什么。你有什么想法?

0 投票
1 回答
1546 浏览

compare - 在 C# 中使用 SIFT 比较描述符

Image My_Image = new Image(Openfile.FileName);

这个程序只是在一张图像中找到 SIFT 描述符。我想与 Image 进行比较,但我不知道我将使用哪个 ImageFeature<>。我正在查找 ImageFeature<> 的功能我找不到它请帮助我。

0 投票
1 回答
524 浏览

opencv - Breif 错误,Brisk 描述符 opencv

在打开的简历中使用 BREIF 描述符时遇到错误。错误在于 BREIF 无法为所有关键点提供描述符。它提供的关键点数量少于预期的描述符。我得到的错误如下。错误仅使用 breif 描述符。使用 SURF 和 SURF 描述符没有错误

OpenCV 错误:checkMasks,文件 /home/ 中的断言失败 (masks[i].rows == queryDescriptorsCount && mask[i].cols == trainDescCollection[i].rows && mask[i].type() == CV_8UC1) shashank/Desktop/opencv-2.4.5/modules/features2d/src/matchers.cpp,第 259 行终止在抛出 'cv::Exception' what() 实例后调用:/home/shashank/Desktop/opencv-2.4。 5/modules/features2d/src/matchers.cpp:259: 错误:(-215) 掩码[i].rows == queryDescriptorsCount && 掩码[i].cols == trainDescCollection[i].rows && 掩码[i]。 type() == CV_8UC1 在函数 checkMasks

在进一步查询中,我们得到
前一个图像中的关键点编号 957 下一张图像中的关键点编号 910 breif 描述符的大小为32X880。它应该是 breif 描述符 32X847 的 32X957 大小。应该是 32X910 面罩 [910 x 957]

代码如下

0 投票
1 回答
2309 浏览

matlab - 如何在 Matlab 中计算有符号和无符号梯度方向

在计算用于HOG描述符提取的梯度方向时,我们可以选择使用0-180或0-360之间的梯度方向,我们如何使用Matlab生成这样的角度?我有以下代码:

0 投票
1 回答
1669 浏览

opencv - 比较大量图像的特征描述符

我有一组几千张图像,对于每张图像,我都提取了一组 SIFT 特征描述符(目前每张图像绑定 200 个)。

我需要形成每个图像之间距离的完整图表。也就是说,我需要通过一些度量来计算每个图像到其他图像的距离。

到目前为止,我已经尝试使用 FLANN 计算两个节点之间最近的 20 个相邻描述符,然后计算每个匹配描述符之间的平均距离。不幸的是,这个过程需要很长时间才能执行。

我有什么方法可以更有效地比较这些图像的描述符吗?

0 投票
1 回答
1044 浏览

svm - 使用 FPFH + svmlight 进行点云对象识别

我正在做一个结合点云库(PCL)和 svmlight 的楼梯识别项目。现在我可以使用快速点特征直方图(FPFH)分割点云、聚类和提取特征。

问题是:如何将 FPFH 结果(许多 FPFHSignature33 是每个点的特征云内容 33 直方图)转换为可以作为 svmlight 输入的特征向量?

我知道我需要为 pos 或 neg 样本标记“+1”或“-1”,但是每个数据的特征向量或值呢?我完全糊涂了。

任何建议或提示表示赞赏!谢谢!

0 投票
1 回答
1101 浏览

c++ - 使用 BOWImgDescriptorExtractor 重用描述符

我有以下代码,旨在通过其 SIFT 特征描述符对一组图像进行聚类。

我遇到的问题是,我已经在我调用的点计算了图像的描述符BowImgDescriptorExtractor::compute,因此如果我可以提供这些而不是BowImgDescriptorExtractor::compute重新计算它们,那将是理想的。如您所见,我能够提供关键点,但无法找到提供描述符的方法。

有什么方法可以让我重新使用我已经在这里创建的描述符?

0 投票
1 回答
294 浏览

opencv - 如何从 DrawMatches() 方法返回的 Mat 对象中分离查询和训练图像

我正在尝试检测视频中的对象。我使用 SURF 作为特征检测和描述符提取器,使用 BRUTFORCE 作为匹配器。我用面孔测试了我的工作,我拍了一张我的照片,当我运行相机并将其对准我时,我的脸被检测到并在其周围绘制了一个矩形。我试图进行另一个测试,我捕获了鼠标的图像并调整了它的大小,当我运行凸轮时,它没有被检测到

我面临的问题是:

1-在这种情况下查询/对象图像的大小是否重要?我问这个问题是因为我捕捉到的自己的图像比鼠标的大,并且面部被检测到而鼠标没有。

2-无论我使用哪个图像作为查询/对象图像,如何在没有查询/对象图像的情况下仅显示火车/场景图像的相机预览。我问这个问题是因为,我得到的是如下图所示的东西,而我想做的是这里显示的东西,我检查了该链接中的代码,它是 C++ 但我跟着同样的事情,本教程也使用'drawMatches'方法,它在java中有一个对等点Features2D.DrawMatches(),它们都返回一个Mat对象,左侧是查询/对象图像,右侧是火车/场景图像如下图所示。

我想要做的是,要在没有查询/对象图像的情况下显示在相机输出上,我希望为相机输出指定的区域仅显示从相机捕获的火车/场景图像。

请让我知道如何解决这个问题,我想做一些我在链接中引用的教程中所示的事情。

img_1 img_2

0 投票
2 回答
834 浏览

c++ - opecv c++ 匹配文件中的描述符

我提取descriptors然后将它们保存到这样的文件中:

但是当我read像这样再次回来时:

并带有加载的图像matchdescriptors

用 2 cv::Mats 这样循环:

AKAmatch(Scene, Object, ...)输出是:(minDist = 100 maxDist = 0不是一个匹配项)。

但是这样对待他们:

AKAmatch(Object, Scene, ...)抛出此错误:

我想保存每个图像的描述性信息,以便可以加载它,我做错了什么?

编辑

我要补充一点,这不是尝试匹配和图像自身的情况,因为众所周知,matcher如果对象和源图像对于测试目的相等,则它不起作用。

编辑 2

文件内容:

读: