summaryrefslogtreecommitdiffstats
path: root/SD-VBS/benchmarks/disparity/src/matlab
diff options
context:
space:
mode:
Diffstat (limited to 'SD-VBS/benchmarks/disparity/src/matlab')
-rwxr-xr-xSD-VBS/benchmarks/disparity/src/matlab/getDisparity.m54
-rwxr-xr-xSD-VBS/benchmarks/disparity/src/matlab/refineDisparity.m31
-rwxr-xr-xSD-VBS/benchmarks/disparity/src/matlab/script_run_profile.m43
3 files changed, 0 insertions, 128 deletions
diff --git a/SD-VBS/benchmarks/disparity/src/matlab/getDisparity.m b/SD-VBS/benchmarks/disparity/src/matlab/getDisparity.m
deleted file mode 100755
index db64cac..0000000
--- a/SD-VBS/benchmarks/disparity/src/matlab/getDisparity.m
+++ /dev/null
@@ -1,54 +0,0 @@
1function [retDisparity retSAD minSAD]=getDisparity(Ileft, Iright, win_sz, max_shift)
2Ileft=double(Ileft);
3Iright=double(Iright);
4[nr,nc,nb]=size(Ileft);
5retSAD=zeros(nr, nc, max_shift);
6
7if(win_sz > 1)
8 half_win_sz=win_sz/2;
9 IleftPadded=padarray(Ileft, [half_win_sz, half_win_sz]);
10 IrightPadded=padarray(Iright, [half_win_sz, half_win_sz]);
11 for i=1:max_shift
12 retSAD(:,:,i)=correlateSAD(IleftPadded,IrightPadded, win_sz, i-1);
13 end
14 [minSAD retDisparity]=min(retSAD,[],3);
15else
16 IleftPadded = Ileft;
17 IrightPadded = Iright;
18 retSAD=correlateSAD(IleftPadded,IrightPadded, win_sz, 0);
19 [minSAD retDisparity]=min(retSAD,[],3);
20end
21end
22
23function retSAD=correlateSAD(Ileft, Iright, win_sz, disparity)
24
25Iright_moved=padarray(Iright, [0,disparity], 'pre');
26Iright_moved=Iright_moved(:, 1:end-disparity,:);
27
28[rows, cols] = size(Ileft);
29for i=1:rows
30 for j=1:cols
31 diff = Ileft(i,j) - Iright_moved(i,j);
32 SAD(i,j) = diff * diff;
33 end
34end
35
36%2D scan.
37integralImg=integralImage2D(SAD);
38retSAD=integralImg(win_sz+1:end,win_sz+1:end,:) +integralImg(2:end-win_sz+1,2:end-win_sz+1,:)-integralImg(2:end-win_sz+1,win_sz+1:end,:)-integralImg(win_sz+1:end,2:end-win_sz+1,:);
39
40end
41
42function retImg=integralImage2D(I)
43[nr,nc,nb]=size(I);
44retImg=zeros(nr,nc,nb);
45retImg(1,:,:)=I(1,:,:);
46for i=2:nr
47 retImg(i,:,:)=retImg(i-1,:,:)+I(i,:,:);
48end
49%vtuneResumeMex;
50for j=2:nc
51 retImg(:,j,:)=retImg(:,j-1,:)+retImg (:,j,:);
52end
53%vtunePauseMex;
54end
diff --git a/SD-VBS/benchmarks/disparity/src/matlab/refineDisparity.m b/SD-VBS/benchmarks/disparity/src/matlab/refineDisparity.m
deleted file mode 100755
index f303236..0000000
--- a/SD-VBS/benchmarks/disparity/src/matlab/refineDisparity.m
+++ /dev/null
@@ -1,31 +0,0 @@
1function retDisparity=refineDisparity(Idisp, DispSAD, Ileft, Iright)
2[nr nc ndist]=size(DispSAD);
3retDisparity=zeros(nr, nc);
4
5IdispNext=padarray(Idisp, [0 1], 'replicate', 'post');
6IdispNext=IdispNext(:,2:end);
7
8
9IdispDiff=abs(Idisp-IdispNext);
10idx=find(IdispDiff>1);
11[idxI idxJ]=ind2sub([nr, nc], idx);
12
13%if(Idisp(idx)
14%sideFlag=
15checkedResult= (abs( DispSAD(sub2ind( [nr, nc, ndist], idxI, idxJ, Idisp(idx))) - ...
16DispSAD(sub2ind( [nr, nc, ndist], idxI, idxJ+1, Idisp(idx))) ) < 1 )+1;
17checkedResult= checkedResult + (abs( DispSAD(sub2ind( [nr, nc, ndist], idxI, idxJ, Idisp(idx+nr))) - ...
18DispSAD(sub2ind( [nr, nc, ndist], idxI, idxJ+1, Idisp(idx+nr))) ) < 1 );
19retDisparity(idx)=checkedResult;
20
21
22% IdispDiff=(Idisp-IdispNext);
23% idx=find(IdispDiff<-1);
24% [idxI idxJ]=ind2sub([nr, nc], idx);
25%
26% checkedResult= abs( DispSAD(sub2ind( [nr, nc, ndist], idxI, idxJ, Idisp(idx+nr))) - ...
27% DispSAD(sub2ind( [nr, nc, ndist], idxI, idxJ+1, Idisp(idx+nr))) ) < 0.5;
28% retDisparity(idx)=checkedResult;
29
30
31
diff --git a/SD-VBS/benchmarks/disparity/src/matlab/script_run_profile.m b/SD-VBS/benchmarks/disparity/src/matlab/script_run_profile.m
deleted file mode 100755
index 6e0386d..0000000
--- a/SD-VBS/benchmarks/disparity/src/matlab/script_run_profile.m
+++ /dev/null
@@ -1,43 +0,0 @@
1function script_run_profile(dataDir, resultDir, type, common, tooldir)
2
3path(path,common);
4
5tol = 2;
6elapsed = [0, 0];
7
8WIN_SZ = 8;
9SHIFT = 64;
10
11if(strcmp(type,'test'))
12 WIN_SZ = 2;
13 SHIFT = 1;
14elseif(strcmp(type, 'sim_fast'))
15 WIN_SZ = 4;
16 SHIFT = 4;
17elseif(strcmp(type,'sim'))
18 WIN_SZ = 4;
19 SHIFT = 8;
20end
21
22 outFile = [resultDir, '/', 'out', '.bmp'];
23
24 file = [dataDir, '/1.bmp'];
25 imleft = readImage(file);
26 imright = readImage([dataDir, '/2.bmp']);
27 [rows, cols] = size(imright);
28
29 fprintf(1,'Input size\t\t- (%dx%d)\n', rows, cols);
30
31 start = photonStartTiming;
32 [imDispOwn, DispSAD, minSAD]=getDisparity(double(imleft), double(imright), WIN_SZ, SHIFT);
33 stop = photonEndTiming;
34 elapsed = photonReportTiming(start, stop);
35
36 writeMatrix(imDispOwn, dataDir);
37 imwrite(uint8(minSAD), outFile, 'bmp');
38
39 photonPrintTiming(elapsed);
40
41
42
43