1
使用Kinect的3D点进行梯形校正
使用XNA,我正在显示一个投影到地板上的简单矩形。投影机可以放置在任意位置。显然,投影的矩形会根据投影机的位置和角度而变形。Kinect会扫描地板以寻找四个角。现在,我的目标是对原始矩形进行变形,以使投影不再因基本对矩形进行预变形而变形。 我的第一种方法是在2D模式下做所有事情:首先计算透视变换(使用OpenCV的 warpPerspective()),从扫描的点到内部矩形的点,然后将逆应用于矩形。这似乎可行,但速度太慢,因为无法在GPU上渲染。 第二种方法是使用3NA进行所有操作,以便使用XNA的渲染功能。首先,我将显示一个平面,使用Kinect扫描其角并将接收到的3D点映射到原始平面。从理论上讲,我可以像在2D方法中一样,将透视变换的逆应用于平面。但是,由于XNA使用视图和投影矩阵,所以我不能只调用诸如之类的函数warpPerspective()并获得所需的结果。我需要为相机的视图和投影矩阵计算新参数。 问题:是否可以计算这些参数并将它们分为两个矩阵(视图和投影)?如果没有,我还有其他方法可以使用吗?
15
xna
2d
3d
projection
kinect