【发布时间】:2012-06-18 14:59:56
【问题描述】:
所以想象一下,有一个摄像头正盯着你的电脑屏幕。我要做的是确定相机旋转了多少,离屏幕有多远,以及它相对于屏幕中心的位置。简而言之就是旋转和平移矩阵。
我正在使用 opencv 来执行此操作,并按照他们的相机校准示例使用棋盘格图案和来自网络摄像头的帧来执行此任务。我想处理任何通用图像,即屏幕截图和来自网络摄像头的框架。
我尝试使用特征检测算法从两个图像中获取关键点列表,然后使用 BFMatcher 匹配这些关键点,但遇到了问题。特别是 SIFT 不能正确匹配关键点,SURF 也不能在缩放图像上正确找到关键点。
这个问题有更简单的解决方案吗?我觉得这应该是人们常做的事情,但是网上没有找到太多讨论。
谢谢!!
【问题讨论】:
-
你为什么不尝试在图像中找到你的屏幕,并找到轮廓?然后,您可以找到旋转和平移,因为您知道屏幕的实际大小,以及它在图像中出现的大小,并且您还知道屏幕在图像中的 .skewed 形状,与现实生活中的矩形形状相比。嗯....有趣的问题。 +1
-
这是一个很好的问题,因为这不是典型的平面标记任务。 +1
-
@eboix,你有没有机会分享使用已知世界几何和倾斜图像几何来确定方向和位置的技术?我正在尝试做同样的事情,但是我使用的是已知尺寸的天花板灯,而不是电脑屏幕。
标签: opencv