OpenCV基于Quasi Dense立体视觉的深度图像生成
OpenCV是一种开源计算机视觉和机器学习库,可用于处理图像和视频。它提供了许多有用的功能,例如边缘检测、对象检测、特征提取、深度估计等。在本文中,我们将探讨Quasi Dense Stereo(准密集立体声)算法,并使用OpenCV实现它。
Quasi Dense Stereo是一种基于相邻像素之间的匹配的立体视觉算法。它可以用于生成深度地图,该地图显示场景中每个像素的深度值。该算法假定相邻像素具有相似的颜色和纹理,这些相似性可以用来找到对应点。因此,该算法适用于纹理丰富、有规律的场景,而对于少纹理、随机分布的场景可能不太适用。
Quasi Dense Stereo算法完成立体视觉的过程包括以下步骤:
- 通过对左右两张图像进行预处理,提取出图像中的特征点,如角点、SIFT特征点等。
- 对特征点进行描述,例如使用SURF算法提取特征向量。
- 对左右图像中的每个特征点进行匹配,得到它们之间的相对偏移量,也称为视差(disparity)。
- 对于那些无法匹配的像素,使用准密集匹配算法来找到它们的视差值。
- 使用生成的视差图像,通过三角剖分算法计算出点云,得到场景的3D模型。
我们将使用OpenCV库中的StereoSGBM(Semi-Global Bloc