www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱源码程序matlab > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I4_09_3_Disparity_func_only.m

    clear;clc;close all;imtool close all

%% 夋憸偺撉崬丒昞帵丄俁D僱僈僱偱妋擣
I1 = rgb2gray(imread('scene_left.png'));
I2 = rgb2gray(imread('scene_right.png'));
figure; imshowpair(I1,I2,'ColorChannels','red-cyan');truesize;

%% 帇嵎夋憸(Disparity儅僢僾)偺寁嶼
d = disparity(I1, I2, 'DisparityRange', [-6 10]);

% -realmax('single') 偲丄怳傝愗傟偰偟傑偭偨Pixel偺抣傪丄
% 偦傟埲奜偺pixel偺嵟彫抣偵抲偒姺偊傞
marker_idx = (d == -realmax('single'));
d(marker_idx) = min(d(~marker_idx));

% 帇嵎夋憸偺昞帵丅僇儊儔偵嬤偄夋慺傪丄柧傞偔昞帵丅
figure; imshow(mat2gray(d));

%% 昞柺僾儘僢僩傪巊偄昞帵
figure; surf(mat2gray(d));shading interp;xlabel('X');ylabel('Y');axis ij

%% 廔椆
%  Copyright 2014 The MathWorks, Inc.









%% R2014a傛傝慜偺僶乕僕儑儞偱幚峴偡傞偲偒帇嵎夋憸(Disparity儅僢僾)偺寁嶼丗R2014a傛傝慜偺僶乕僕儑儞偱幚峴偡傞偲偒
%     R2014a偱丄僨僼僅儖僩偺曽幃偲偟偰"SemiGlobal"偑捛壛
d = disparity(I1, I2, 'BlockSize', 35,'DisparityRange', [-6 10], 'UniquenessThreshold', 0);