立体匹配OpenCV源码、参数使用讲解

立体匹配OpenCV源码使用讲解

代码思路

其实立体匹配很容易使用,因为他的步骤很少,难的原理部分你也写不来,所以直接调用sgbm就可以了。官方源码里首先是读入矩阵参数,求出对应的图片矫正映射矩阵,然后重映射矫正图像。这一步其实在之前摄像机标定的程序中也可以直接得到,如果把那里的矫正后的图直接拿来用就可以省去矫正的步骤。之后是sgbm的参数设置,也是我们主要调整效果的地方。再用sgbm求出对应的视差图,最后用一个函数由视差图求得三维坐标,即点云数据。

代码详解

print_help没啥可说
28-42行代码是将输出的三维点云筛选之后写入point_3D.jpg文件,但个人建议把输出文件改成"point3D.txt",这样之后可以从中查看点云坐标和查看点云。
46-99是对sgbm的相关变量进行赋值操作,自己写的话可以不按源码的写法,直接赋值就可以了。
100-173就是判断所需要的文件是否存在,自己写代码的话可以不用写上。
174-216就是和之前相机标定效果一样,读入矩阵参数后求出矫正映射矩阵,再对输入进来的图像进行矫正。这里你可以在之前相机标定时输出矫正后的图像,这里再读进来直接用就好了(直接赋给img1和img2)。
220-253对sgbm算法的参数设置,十分重要,之后会详细讲各个参数的意义。
剩下的部分就是输出三维坐标文件和视差图了。
详细注释会在最后给出

参数解释

sgbm的使用中最重要的就是参数的设置,也是我们唯一能改的地方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值