Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.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
C++ 来自单个校准相机的两个连续帧的视差图。可能吗?_C++_Opencv_Stereo 3d_Disparity Mapping - Fatal编程技术网

C++ 来自单个校准相机的两个连续帧的视差图。可能吗?

C++ 来自单个校准相机的两个连续帧的视差图。可能吗?,c++,opencv,stereo-3d,disparity-mapping,C++,Opencv,Stereo 3d,Disparity Mapping,stereo_match.cpp将L和R图像转换为视差和点云。我想改编这个例子,从单个校准相机的两个连续帧计算视差和点云。可能吗?如果此示例不适用于我的范围,那么获取我想要的内容的步骤是什么?如果相机(或场景)正在移动,则是使用立体系统上的视差贴图获取深度信息-场景中对象的距离。为此,您需要摄像机之间的距离,以便能够将视差信息转换为真实尺寸 另一方面,如果你有来自静态相机的连续帧,我想你需要它们之间的差异。您可以通过光流算法获得它。对图像中的每个像素计算密集光流,方法与视差相同,并输出运动方向和

stereo_match.cpp将L和R图像转换为视差和点云。我想改编这个例子,从单个校准相机的两个连续帧计算视差和点云。可能吗?如果此示例不适用于我的范围,那么获取我想要的内容的步骤是什么?

如果相机(或场景)正在移动,则是使用立体系统上的视差贴图获取深度信息-场景中对象的距离。为此,您需要摄像机之间的距离,以便能够将视差信息转换为真实尺寸

另一方面,如果你有来自静态相机的连续帧,我想你需要它们之间的差异。您可以通过光流算法获得它。对图像中的每个像素计算密集光流,方法与视差相同,并输出运动方向和幅度。最常见的是稀疏-它们只跟踪一组“强”点或定义良好的点


如果您有一个静态场景,但移动摄影机,模拟立体装备中的两个摄影机,则获得视差算法可能是有意义的

我想我们无法从单个摄像机计算出精确的视差图。在计算视差图时,我们基本上假设立体装配中两幅图像的垂直像素坐标相同,只有水平像素坐标变化,但在单目图像序列中,这可能不成立,因为相机在两个连续帧之间移动。

是,我移动校准过的相机,拍摄一个静止物体的视频。从这段视频的两个连续帧中获取视差图的步骤是什么?@Fobi-与立体声装置完全相同。确定匹配点(例如SURF)并求解摄影机位移向量,然后对于场景中的每个匹配点,您有一个视差和一个基线解算摄影机位移向量?你能说得更具体些吗?我必须使用什么OpenCV函数?