Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何使用单个视频源从内部创建管道的三维重建?_Matlab_Opencv_Video_3d_Camera - Fatal编程技术网

Matlab 如何使用单个视频源从内部创建管道的三维重建?

Matlab 如何使用单个视频源从内部创建管道的三维重建?,matlab,opencv,video,3d,camera,Matlab,Opencv,Video,3d,Camera,我想创建一个管道内部的三维重建。大多数三维重建从一个对象周围的不同角度捕获许多图片。然而,在我的项目中,我有单目视觉,一个只能向前移动的相机。我想把这个视频从一个摄像头转换成周围环境的3D模型。模型不需要是彩色的或非常精确的-一个网格模型就足够了。目前,我正在使用VisualSfM,这是一个很棒的工具 我的设置: 我卷起一个瑜伽垫,形成一个长长的黑色管状体。接下来,我在一根棍子的一端连接了一个网络摄像头和一个手电筒。我把这个装置移到管子的一端,然后录制20秒的视频,慢慢地把相机/手电筒装置推入管

我想创建一个管道内部的三维重建。大多数三维重建从一个对象周围的不同角度捕获许多图片。然而,在我的项目中,我有单目视觉,一个只能向前移动的相机。我想把这个视频从一个摄像头转换成周围环境的3D模型。模型不需要是彩色的或非常精确的-一个网格模型就足够了。目前,我正在使用VisualSfM,这是一个很棒的工具

我的设置: 我卷起一个瑜伽垫,形成一个长长的黑色管状体。接下来,我在一根棍子的一端连接了一个网络摄像头和一个手电筒。我把这个装置移到管子的一端,然后录制20秒的视频,慢慢地把相机/手电筒装置推入管子。然后我使用Matlab将视频分割成图像帧,得到大约200张图片。我将这些图片上传到VisualSFM,并使用成对序列匹配,然后继续进行稀疏然后密集的重建

目前,我正在使用VisualSfM,这是一个很棒的工具。问题在于,由于灯光随摄影机移动,因此每个帧都具有相同的灯光,看起来也一样。VisualSfM知道相机正在移动(如图所示),但将点云堆叠起来,使其看起来是二维的。我想把它做成一个空心圆筒

有人对如何解决这个问题有想法吗?我是否需要更改VisualSfM中的任何参数?如果是,怎么做

如果你能用OpenCV来做这件事,我也愿意接受这方面的建议

谢谢你的帮助。

如果对象的纹理在任何地方看起来都一样,则可能无法通过参数进行求解。可能会在杆上添加一些运动传感器。如果可能,您可以尝试使用固定光源,而不是随相机移动的光源。如果对象的纹理在任何地方看起来都相同,则可能无法通过参数解决。可能会在灯杆上添加一些运动传感器。如果可能,您可以尝试使用固定光源,而不是随相机移动的光源。