function disparity = disparity() window = 10; r = floor(window/2); maxDisparity = 30; % Read the images Ia = imread('tsukuba_l.png'); Ib = imread('tsukuba_r.png'); dim = size(Ia) Ia = padarray(Ia, [r,r]); Ib = padarray(Ib, [r,r]); size(Ia) disparity = zeros(dim); for i = 1+r : dim(1)+r for j = 1+r : dim(2)+r minSSD = Inf; for k = max(1+r, j - maxDisparity) : j SSD = ssd(Ia, j, i, Ib, k, i, window); if SSD < minSSD minSSD = SSD; disparity(i,j) = j - k; end end end end end