diff options
Diffstat (limited to 'SD-VBS/common/toolbox/MultiNcut/batch_MNcut.m')
-rwxr-xr-x | SD-VBS/common/toolbox/MultiNcut/batch_MNcut.m | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/SD-VBS/common/toolbox/MultiNcut/batch_MNcut.m b/SD-VBS/common/toolbox/MultiNcut/batch_MNcut.m new file mode 100755 index 0000000..d4dcb3c --- /dev/null +++ b/SD-VBS/common/toolbox/MultiNcut/batch_MNcut.m | |||
@@ -0,0 +1,48 @@ | |||
1 | data_dir = '/data/insecure/qihuizhu/baseball/Gray/train/'; | ||
2 | save_dir = '/home/songgang/project/MultiNcut/batch_result_MNcut'; | ||
3 | |||
4 | num_segs = [20]; | ||
5 | imageSize = 200; | ||
6 | |||
7 | |||
8 | filelist = dir(fullfile(data_dir, '*.tif')); | ||
9 | |||
10 | nb_file = max(size(filelist)); | ||
11 | |||
12 | |||
13 | tic; | ||
14 | for ii = 1:nb_file | ||
15 | fprintf(2, 'Segmenting image: %s ...\n', filelist(ii).name); | ||
16 | |||
17 | img_filename = fullfile(data_dir, filelist(ii).name); | ||
18 | I=readimage(img_filename,imageSize); | ||
19 | |||
20 | |||
21 | [SegLabel,eigenVectors,eigenValues]= MNcut(I,num_segs); | ||
22 | |||
23 | for j=1:size(SegLabel,3), | ||
24 | [gx,gy] = gradient(SegLabel(:,:,j)); | ||
25 | bw = (abs(gx)>0.1) + (abs(gy) > 0.1); | ||
26 | |||
27 | figure(1);clf; J1=showmask(double(I),bw); imagesc(J1);axis image; axis off; | ||
28 | set(gca, 'Position', [0 0 1 1]); | ||
29 | set(gca, 'Position', [0 0 1 1]); | ||
30 | [PATHSTR,NAME,EXT,VERSN] = fileparts(filelist(ii).name); | ||
31 | print('-f1', '-djpeg90', fullfile(save_dir, sprintf('%s%s-%d.jpg', NAME,'-out', num_segs(j)))); | ||
32 | |||
33 | |||
34 | % cm = sprintf('print -djpeg %s/file%.4d-%.2d.jpg',OutputDir,id,num_segs(j)); disp(cm);eval(cm); | ||
35 | |||
36 | |||
37 | % figure(10);imagesc(SegLabel(:,:,j));axis image; axis off; | ||
38 | % set(gca, 'Position', [0 0 1 1]); | ||
39 | % cm = sprintf('print -djpeg %s/Seg%.4d-%.2d.jpg',OutputDir,id,num_segs(j));disp(cm);eval(cm); | ||
40 | |||
41 | % keyboard; | ||
42 | end | ||
43 | |||
44 | |||
45 | |||
46 | end; | ||
47 | toc; | ||
48 | fprintf(2, ' %d files done\n', nb_file); | ||