gpt4 book ai didi

opencv - 在不使用 "drawmatches"函数的情况下在特征点之间画一条线

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

我通过在 features2d 框架中使用不同的检测器从两个连续的特征点中获得了特征点:

在第一帧中,特征点被绘制成红色 enter image description here

在下一帧中,特征点绘制为蓝色 enter image description here

我想在第一帧(带红点的图像)这些红色和蓝色(匹配)点之间画一条线。 opencv 中的 drawmatches 函数没有帮助,因为它显示了一个窗口,其中两个连续帧彼此相邻以进行匹配。在 OpenCV 中可以吗?

提前致谢

最佳答案

我猜您想可视化每个关键点如何在两帧之间移动。据我所知,OpenCV中没有满足您要求的内置函数。

但是,正如您所称的 drawMatches()函数,你已经有了两个关键点集(以C++代码为例)vector<KeyPoint>& keypoints1, keypoints2和火柴vector<DMatch>& matches1to2 .然后就可以从Point keypoints1.pt中得到每个关键点的像素坐标并通过调用 line() 在关键点之间画线功能。

你应该小心,因为你想画 keypoints2在第一帧中,像素坐标可能会超过img1的大小.

有一种快速了解关键点运动的方法。下面是imshowpair()显示的结果在 Matlab 中: enter image description here

关于opencv - 在不使用 "drawmatches"函数的情况下在特征点之间画一条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21968655/

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