问题标签 [keypoint]
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.
python-2.7 - sift.detect 中的 SIFT 关键点
如何使用 opencv 中的 sift.detect 方法存储关键点?它们是数组的形式吗?如何提取每个关键点的(x,y)坐标?(我使用的是opencv 2.4.11)
c++ - 来自两个图像的 OpenCV 转换
有一个匹配两个图像并输出旋转和缩放的 MATLAB 示例: https://de.mathworks.com/help/vision/examples/find-image-rotation-and-scale-using-automated-feature-matching。 html?requestedDomain=www.mathworks.com
我的目标是使用 C++ 重新创建这个示例。我正在使用相同的关键点检测方法(Harris),关键点似乎与 Matlab 发现的基本相同。到目前为止,一切都很好。
BRISK 用于从关键点中提取特征。
然后使用 flannbasedmatcher 匹配这些描述符。
现在的问题是我的比赛中有大约 80% 是错误的且无法使用。对于相同的图像集,Matlab 仅返回几个匹配项,其中只有约 20% 是错误的。我尝试根据距离值对 C++ 中的匹配项进行排序,但没有成功。值范围在 300 到 700 之间,即使是距离最短的匹配项也几乎完全不正确。
现在 20% 的良好匹配足以计算偏移量,但大量处理能力浪费在检查错误匹配上。什么是对正确匹配进行排序的更好方法,或者有什么明显的我做错了吗?
编辑:
我已经从 Harris/BRISK 切换到 AKAZE,它似乎提供了更好的功能和匹配,可以很容易地按距离值排序。唯一的缺点是计算时间要长得多。对于两张 1000 像素宽的图像,AKAZE 需要半分钟才能找到关键点(在 PC 上)。我通过缩小图像来减少这一点,这使得可接受的约 3-5 秒。
computer-vision - 为什么在对象识别问题中需要单应性?
我被要求进行筛选关键点匹配,然后进行单应矩阵估计。为什么在对象识别问题中需要单应矩阵?这是我想要识别的图像类型1
opencv - 使用opencv在关键点匹配算法中查找输入图像中的像素坐标?
我想在输入图像中找出给定的图像......首先我使用 opencv 使用模板匹配,但它没有给出正确的结果。所以我切换到使用带有opencv的SIFT进行关键点匹配。但我无法在输入图像中找到像素位置。有人请帮助我我到处寻找但无法解决我的问题
c++ - PointCloud 库:计算筛选关键点 - 输入云错误
我正在尝试使用以下代码计算输入云的筛选关键点:
现在问题是 sift 关键点类的内部问题,因为看起来 PointXYZ 没有名为“强度”的参数。
如果我想为 PointXYZ 值筛选关键点,我应该使用什么?
c++ - OpenCV C++ 创建可重复使用的关键点和描述符集以拼接多个图像
我创建了一个可以将多个图像拼接在一起的程序,现在正在寻求提高它的效率。根据拼接图像的大小,最终它会很大并且包含太多关键点,机器会耗尽可分配的内存。为了弥补这一点,我的目标是存储所有找到的关键点和描述符,这样我就不需要在主拼接图像中再次找到它们,而只需要在正在拼接的新图像中找到它们。我有这个过程在 python 中工作,但在 C++ 中没有同样的运气。为了做到这一点,我需要对perspectiveTransform()
关键点执行 a 并将它们从vector<keypoint>
to转换vector<point2f>
回vector<keypoint>
. 我已经能够实现这一点并且可以确认它有效(选择跟随)。我不确定是否需要对描述符执行相同的过程(目前我已经这样做了,但是它错误或无效)。
问题:当我运行它时,关键点和描述符似乎不起作用,并且我抛出了一个我创建的错误:“找不到足够的匹配项”,即使我知道至少关键点正在进入函数。
这是关键点和描述符转换的代码。代码首先计算要应用于图像一的 warpPerspective,因为单应性只会扭曲第二个图像。codd 的其余部分处理关键点和描述符。
以下代码是我进行实际拼接的主拼接程序。
最后是正在转换到拼接图像上的关键点的图像。非常感谢任何帮助!
python - 简单的pygame用户界面
我正在尝试创建一个脚本,允许用户循环浏览图像目录,并为每一个标记关键点(左键单击标记绿色圆圈,右键单击标记红色圆圈)。
仅供参考,该脚本将用于创建用于机器学习的标记数据库。在每个图像的每个循环结束时,我想将文件名和关键点位置附加到稍后将被腌制和引用的列表中。
我的问题是我可以为单个图像创建这个(见下文),但似乎无法让它适用于图像列表。
提前感谢您的支持!
python - 许多对象的时刻(Python OpenCV)
我有一张包含约 400 个点的图像。我一直在使用 Simpleblob 检测器来查找关键点。然后我 for 遍历所有关键点以找到每个关键点的中心(下面的代码)。这很好用,但我也对时刻信息感兴趣,因为我想 .pt 只是平均与关键点相关的所有像素的位置。
我想做一些类似的事情:
但它失败了。
我已经尝试放弃 Simpledetector 并使用此处列出的处理方法http://docs.opencv.org/trunk/dd/d49/tutorial_py_contour_features.html ,但这也失败了。
如果有人有任何建议,他们将不胜感激。
point-cloud-library - PCL:具有 ISS 关键点的 PFH
目前我尝试计算 ISS 关键点的 PFH 描述符。我执行以下步骤:
(1) 使用 pcl::ISSKeypoint3D 检测关键点 (2) 使用 pcl::NormalEstimation 从 (1) 估计新关键点云的法线 (3) 使用 pcl::PFHEstimation 从 (2) 估计关键点的 PFH 和法线
据我了解,PFH 估计考虑了k个邻居,因此复杂度为 O(n*k^2),其中n表示关键点的数量。但是,我只将由关键点本身组成的云传递给 (3) 中的估计器。
所以我的问题是:如何检索每个 ISS 关键点的k个邻居?
image - 关键点检测与图像拼接
] 2
所以如下图所示,我在图像上检测到了关键点,但是包裹透视后的输出图像忽略了左侧的第一张图像,不知道为什么!
以上是用于关键点检测和拼接的代码,
另一个问题是否有人可以帮助我进行垂直图像拼接而不是旋转图像和执行水平拼接。
非常感谢 !
我更改了代码并使用@Alexander 的 padtransf.warpPerspectivePadded 函数来执行包装和混合!你能帮我获得输出图像的照明均匀吗?