使用网络摄像头捕捉物体的多个不同角度,能否制作出一个三维模型呢?如果可以,它是如何实现的,图像处理又是怎么做的呢?
我的计划是使用网络摄像头制作一个人的三维模型,然后从三维模型中获取这个人的身体数据。
使用网络摄像头捕捉物体的多个不同角度,能否制作出一个三维模型呢?如果可以,它是如何实现的,图像处理又是怎么做的呢?
我的计划是使用网络摄像头制作一个人的三维模型,然后从三维模型中获取这个人的身体数据。
一旦您获得了相机参数,您基本上就知道世界中的三维点(X,Y,Z)如何映射到照片上的图像坐标(u,v)。您还知道如何将图像坐标映射到世界上。通过在从不同视角拍摄的照片中搜索每个像素在一个照片上的匹配项,可以创建密集的点云。这需要进行二维搜索。您可以通过使搜索变为一维来简化此过程。这称为“校正”。您基本上需要取两张照片并将它们转换,以便它们的行对应于世界上的同一条线(简化语句)。现在,您只需要沿着图像行进行搜索。
这方面的算法也可以在Hartley和Zisserman中找到。
最后,您需要根据某些度量进行匹配。有很多关于“立体匹配”的文献。另一个使用的词是“视差估计”。这基本上是在一张照片上搜索像素(u,v)与另一张照片上的其匹配项(u,v')的匹配项。一旦您找到匹配项,它们之间的差异可以用于映射回三维点。
你可以使用古川泰隆的“CMVS”或“PMVS2”软件来完成这个任务。或者如果你想自己尝试,openCV是一个开源计算机视觉工具箱,可以完成许多所需的子任务。这可以通过两个网络摄像头以与您的眼睛相同的方式完成。 这被称为立体视觉。 看一下这个:
http://opencv.willowgarage.com/documentation/camera_calibration_and_3d_reconstruction.html
获取3D数据的一种经济实惠的替代方案是Kinect相机系统。