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 | ||
