matlab disparity函数

    matlab生成视差图函数disparity参数选择对生成的视差图效果有很大的影响,这里将matlab帮助中的参数进行列举,方便之后修改查验。

'Method' — Disparity estimation algorithm
'SemiGlobal' (default) | 'BlockMatching'


模式可选择BM和SGBM;

'DisparityRange' — Range of disparity
[0 64] (default) | two-element vector

视差图范围,默认是[0 64]

该值的设置取决于两相机的间距和物距综合影响,大基线距和近处测量时应增大视差范围,但范围差值要求可以被16整除。

'BlockSize' — Square block size
15 (default) | odd integer

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
MATLAB自带的disparity函数是用于计算视差图的函数,常用于立体视觉的深度估计。下面是disparity函数的语法和说明: ``` [dmap, cim] = disparity(left, right, 'Method', method, 'BlockSize', blocksize, 'DisparityRange', disp_range, 'Uniqueness', uniqueness) ``` 输入参数: - left:左视图灰度图像; - right:右视图灰度图像; - method:视差计算方法,可选的值包括'SSD'(和平方差法)和'AD'(绝对差法),默认值为'SSD'; - blocksize:匹配块大小,必须为正奇数,表示匹配块的边长,例如blocksize=3表示3x3的匹配块,默认值为9; - disp_range:视差范围,表示最大视差值与最小视差值之间的差值,必须为正整数,例如disp_range=64表示最大视差值为64,最小视差值为0,默认值为64; - uniqueness:唯一性约束阈值,表示匹配块的最小相似度,取值范围为0到1之间的实数,例如uniqueness=0.1表示相似度小于0.1的匹配块会被排除,默认值为0.5。 输出参数: - dmap:视差图,表示每个像素的视差值,值越大表示距离越远; - cim:一致性图,表示每个像素匹配的一致性,值越大表示匹配越可靠。 下面是一个简单的disparity函数的示例: ```matlab % 读取左右视图图像 left = imread('left.png'); right = imread('right.png'); % 转为灰度图像 left_gray = rgb2gray(left); right_gray = rgb2gray(right); % 计算视差图 [dmap, cim] = disparity(left_gray, right_gray, 'BlockSize', 15, 'DisparityRange', [0 64], 'Uniqueness', 0.5); % 显示视差图 figure; imshow(dmap, []); colorbar; ``` 在这个示例,我们首先将输入的彩色左右视图图像转换为灰度图像。然后,使用disparity函数计算视差图。在计算过程,我们将匹配块大小设置为15x15,视差范围设置为0到64,唯一性约束阈值设置为0.5。最后,使用imshow函数显示视差图。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值