matlab 双目 视差,双目匹配与视差计算

双目匹配与视差计算

立体匹配主要是通过找出每对图像间的对应关系,根据三角测量原理,得到视差图;在获得了视差信息后,根据投影模型很容易地可以得到原始图像的深度信息和三维信息。立体匹配技术被普遍认为是立体视觉中最困难也是最关键的问题,主要是以下因素的影响:

(1) 光学失真和噪声(亮度、色调、饱和度等失衡)

a4c26d1e5885305701be709a3d33442f.png

(2) 平滑表面的镜面反射

a4c26d1e5885305701be709a3d33442f.png

(3) 投影缩减(Foreshortening)

a4c26d1e5885305701be709a3d33442f.png

(4) 透视失真(Perspective distortions)

a4c26d1e5885305701be709a3d33442f.png

(5) 低纹理(Low texture)

a4c26d1e5885305701be709a3d33442f.png

(6) 重复纹理(Repetitive/ambiguous patterns)

a4c26d1e5885305701be709a3d33442f.png

(7) 透明物体

a4c26d1e5885305701be709a3d33442f.png

(8) 重叠和非连续

a4c26d1e5885305701be709a3d33442f.png

目前立体匹配算法是计算机视觉中的一个难点和热点,算法很多,但是一般的步骤是:

A、匹配代价计算

匹配代价计算是整个立体匹配算法的基础,实际是对不同视差下进行灰度相似性测量。常见的方法有灰度差的平方SD(squared

intensity differences),灰度差的绝对值AD(absolute intensity

differences)等。另外,在求原始匹配代价时可以设定一个上限值,来减弱叠加过程中的误匹配的影响。以AD法求匹配代价为例,可用下式进行计算,其中T为设定的阈值。

a4c26d1e5885305701be709a3d33442f.png

图18

B、 匹配代价叠加

一般来说,全局算法基于原始匹配代价进行后续算法计算。而区域算法则需要通过窗口叠加来增强匹配代价的可靠性,根据原始匹配代价不同,可分为:

a4c26d1e5885305701be709a3d33442f.png

图19

C、 视差获取

对于区域算法来说,在完成匹配代价的叠加以后,视差的获取就很容易了,只需在一定范围内选取叠加匹配代价最优的点(SAD和SSD取最小值,NCC取最大值)作为对应匹配点,如胜者为王算法WTA(Winner-take-all)。而全局算法则直接对原始匹配代价进行处理,一般会先给出一个能量评价函数,然后通过不同的优化算法来求得能量的最小值,同时每个点的视差值也就计算出来了。

D、视差细化(亚像素级)

大多数立体匹配算法计算出来的视差都是一些离散的特定整数值,可满足一般应用的精度要求。但在一些精度要求比较高的场合,如精确的三维重构中,就需要在初始视差获取后采用一些措施对视差进行细化,如匹配代价的曲线拟合、图像滤波、图像分割等。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab可以用于计算双目视差。具体的步骤如下: 1. 读取左右图像并加载标定参数。 使用imread函数读取左右图像,然后使用load函数加载标定参数(stereoParams)。 2. 进行极线矫正。 使用rectifyStereoImages函数对左右图像进行极线矫正,得到校正后的图像(I1Rect和I2Rect)。 3. 计算视差图。 使用disparity函数计算视差图,需要将输入图像转换为灰度图像,并传入校正后的左右图像作为参数。也可以使用disparity函数的其他可选参数来调整计算视差的精度和范围。 4. 显示视差图。 使用imshow函数显示计算得到的视差图,可以通过设置显示范围来调整视差图的亮度和对比度。 需要注意的是,视差图的效果受到视差范围的影响,选择合适的视差范围对于得到较好的效果很重要。可以通过在Matlab中使用Image Viewer来查看两个图像的视差范围,然后根据需求选择合适的范围。 以上是使用Matlab计算双目视差的一般步骤,具体的实现可以根据实际需求和数据进行调整。123 #### 引用[.reference_title] - *1* *3* [计算双目视差的方法汇总及效果分析](https://blog.csdn.net/Zhongai0049/article/details/120766222)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* [基于Matlab双目立体匹配获取视差图](https://blog.csdn.net/weixin_43788282/article/details/129785878)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值