diff options
Diffstat (limited to 'SD-VBS/common/toolbox/MultiNcut/run_script.m')
-rwxr-xr-x | SD-VBS/common/toolbox/MultiNcut/run_script.m | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/SD-VBS/common/toolbox/MultiNcut/run_script.m b/SD-VBS/common/toolbox/MultiNcut/run_script.m new file mode 100755 index 0000000..3d2e8c6 --- /dev/null +++ b/SD-VBS/common/toolbox/MultiNcut/run_script.m | |||
@@ -0,0 +1,60 @@ | |||
1 | %% set path for the MNcut code | ||
2 | |||
3 | if 1, | ||
4 | % MNcutDir = '/home/jshi/Matlab/Toolbox/MultiNcut'; | ||
5 | MNcutDir = 'C:\qihuizhu\Checkout\Human\Source\MultiNcut_new\MultiNcut'; | ||
6 | path(path,MNcutDir); | ||
7 | end | ||
8 | |||
9 | %% set the image input and output dir. | ||
10 | % imagedir = '/data/jshi/DLIB/image.cd'; | ||
11 | % imagedir = 'C:\qihuizhu\Checkout\Human\Source\Data\test'; | ||
12 | imagedir = 'C:\qihuizhu\Checkout\Human\Data\Current\baby_case5'; | ||
13 | % imageformat = 'ppm'; | ||
14 | imageformat = 'tif'; | ||
15 | |||
16 | % OutputDir = '/home/jshi/Results_DLIB'; | ||
17 | % OutputDir = 'C:\qihuizhu\Checkout\Human\Source\Data\test'; | ||
18 | OutputDir = 'C:\qihuizhu\Checkout\Human\Result\Segmentation\MultiNcut_new_03.07'; | ||
19 | |||
20 | a = dir(OutputDir); | ||
21 | if (length(a) == 0), | ||
22 | cm = sprintf('mkdir %s',OutputDir); | ||
23 | disp(cm); eval(cm); | ||
24 | end | ||
25 | |||
26 | files = dir(sprintf('%s/*.%s',imagedir,imageformat)); | ||
27 | |||
28 | %% image size definition | ||
29 | imageSize = 400; | ||
30 | |||
31 | % for id =11:200, | ||
32 | for id = 1:length(files) | ||
33 | %for id = 19:19, | ||
34 | I=readimage(sprintf('%s/%s',imagedir,files(id).name),imageSize); | ||
35 | |||
36 | num_segs = [10, 20]; | ||
37 | |||
38 | tic | ||
39 | [SegLabel,eigenVectors,eigenValues]= MNcut(I,num_segs); | ||
40 | toc | ||
41 | |||
42 | for j=1:size(SegLabel,3), | ||
43 | [gx,gy] = gradient(SegLabel(:,:,j)); | ||
44 | bw = (abs(gx)>0.1) + (abs(gy) > 0.1); | ||
45 | |||
46 | figure(1);clf; J1=showmask(double(I),bw); imagesc(J1);axis image; | ||
47 | cm = sprintf('print -djpeg %s/file%.4d-%.2d.jpg',OutputDir,id,num_segs(j)); disp(cm);eval(cm); | ||
48 | |||
49 | |||
50 | figure(10);imagesc(SegLabel(:,:,j));axis image; | ||
51 | cm = sprintf('print -djpeg %s/Seg%.4d-%.2d.jpg',OutputDir,id,num_segs(j));disp(cm);eval(cm); | ||
52 | |||
53 | % pause; | ||
54 | end | ||
55 | |||
56 | fname = files(id).name; | ||
57 | %cm = sprintf('save %s/SegLabl%.4d.mat I SegLabel fname',OutputDir,id); disp(cm); eval(cm); | ||
58 | %cm = sprintf('save %s/SegEig%.4d.mat eigenVectors eigenValues',OutputDir,id);disp(cm); eval(cm); | ||
59 | |||
60 | end | ||