gpt4 book ai didi

opencv - 在opencv中计算相机的位置和方向

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

想象一下,有一个摄像头正在注视着您的计算机屏幕。我想要做的是确定相机旋转了多少,它离屏幕有多远,以及它相对于屏幕中心的位置。简而言之,旋转和平移矩阵。

我正在使用 opencv 来执行此操作,并按照他们的相机校准示例使用棋盘图案和来自网络摄像头的帧来执行此任务。我想处理任何通用图像,即屏幕截图和网络摄像头的框架。

我曾尝试使用特征检测算法从两个图像中获取关键点列表,然后将这些关键点与 BFMatcher 进行匹配,但遇到了问题。具体而言,SIFT 无法正确匹配关键点,而 SURF 无法在缩放后的图像上正确找到关键点。

这个问题有更简单的解决方案吗?我觉得这是人们做过的常见事情,但在网上没有找到太多讨论。

谢谢!!

最佳答案

寻找自然平面标记是计算机视觉中的一项常见任务,但在您的情况下,您的屏幕会根据您在屏幕上看到的内容而有所不同,它可以是您的桌面、浏览器、电影……

所以你不能用通常的方法来检测标记,你应该尝试形状识别。一个想法是在屏幕框架的相同尺寸(通过不同比例)的矩形模板上尝试粒子过滤器,应用第一个边缘检测。

粒子过滤器将使模板适合框架区域。这样做之后,您就会知道位置。对于方向,您需要计算单应性,为此您需要“标记”中的 4 个点,因此您可以应用直接线性变换(cv::findHomography() 为您完成)。所以你的四个点可以是四个角。这只是一个想法,祝​​你好运!

关于opencv - 在opencv中计算相机的位置和方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11085526/

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