gpt4 book ai didi

opencv - opencv中类cv::KeyPoint的类成员class_id的含义和用途是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 21:27:56 25 4
gpt4 key购买 nike

在 OpenCV 2.4.3 的引用手册中,KeyPoint::class_id 被描述为“对象 id,可用于所属对象的聚类关键点”。

由于我对“关键点”缺乏足够的了解,我无法理解class_id 的用途。

我的另一个问题是,通过使用特征检测器、描述符和匹配器,我们可以检测训练图像中查询对象的匹配关键点。但是如何在训练图像中分割出查询对象。我们可以使用 grabcut 或分水岭算法吗?如果是,怎么办?

任一问题的答案都会有所帮助。

提前致谢...

最佳答案

在实践中,class_id 成员字段可用于存储您认为对每个关键点有用的任何信息。如文档所述,例如,您可以存储检测到的对象的 ID。

例如,您有一张图像,从中提取关键点(例如使用 SURF),使用这些特征运行一些对象检测器,结果是每个输入特征现在在 class_id 中包含 id相应对象的,如果它们没有附加到任何对象,则为 -1。我实际上不知道这个字段是由某些 OpenCV 函数填充的还是仅供您使用。

关于你的第二个问题,匹配特征可能不足以分割出你的物体,因为特征可以位于物体内部,所以你无法获得任何关于轮廓的信息。不过,如果您有关于该对象的更多信息,这是一个很好的起点。例如,如果您知道您的对象是平面的(墙上的海报),您可以使用特征匹配来计算输入图像和训练图像之间的单应性。这会给你一个大纲。或者,例如,大量紧密匹配的特征可能是对象存在的指示。由此,你可以尝试一些其他的颜色分割、边缘匹配等。

关于opencv - opencv中类cv::KeyPoint的类成员class_id的含义和用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17981126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com