tuttelikz

[works]

Jan 12th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.83 KB | None | 0 0
  1. tic;
  2. addpath('D:\Labview Projects\matlab_script_skin');
  3.  
  4. imgFilePath = dir([filePath '/*.jpg']);
  5. imgFilesNo = size(imgFilePath,1);
  6. imgName = imgFilePath(1).name;
  7. img = imread([filePath,'\',imgName]);
  8. [H,W] = size(img);
  9.  
  10. img3d = zeros(H,W,imgFilesNo);
  11. avg_rghn_fr = zeros(1,imgFilesNo);
  12. rms_rghn_fr = zeros(1,imgFilesNo);
  13. max_rghn_fr = zeros(1,imgFilesNo);
  14.  
  15. mrg = 60;
  16.  
  17. h = waitbar(0,'Please wait...');
  18. maxstep1 = 50;
  19. maxstep2 = 50;
  20. totaldenom = maxstep1+maxstep2;
  21.  
  22. diff_idl = 2;
  23. diff_rl = 2;
  24. step = 0;
  25. img_no = 0;
  26.  
  27. parfor step = 1:maxstep1
  28.       imgName = imgFilePath(step).name;
  29.       img = imread([filePath,'\',imgName]);
  30.       img3d(:,:,step) = img;
  31.       [H,W] = size(img);
  32.        img = uint8(img);
  33.  
  34.         img_gau = imgaussfilt(img,gsigma1);
  35.        
  36.         img_med = medfilt2(img_gau,[med*2 med*2],'symmetric');
  37.         img_med = filt_diff(img_med,H,W,diff_idl);
  38.         [~,ind_idl,~] = find_srf(img_med,H,W); %img_idl
  39.  
  40.         [img_flt,H,W] = flatten(img,H,W,ind_idl,mrg);
  41.  
  42.         img_gau = imgaussfilt(img_flt,gsigma2);
  43.  
  44.         img_diff = filt_diff(img_gau,H,W,diff_rl);
  45.  
  46.         [~,ind_rl,avg_rl] = find_srf(img_diff,H,W); %img_rl
  47.         [avg_rghn_fr(step),rms_rghn_fr(step),max_rghn_fr(step)] = rgh(avg_rl,ind_rl);
  48.  
  49.         if mod(step,10) == 0
  50.                % progress = 100*step / maxsteps;
  51.                 %waitbar(step / maxstep,h,sprintf('Progress: %d%%',progress));
  52.              
  53.                %progress = (step+img_no)./totaldenom;
  54.                %waitbar(progress,h,sprintf('Progress: %d%%',100.*progress));
  55.         end
  56. end
  57.  
  58. mean_avg_rghn_front = mean(avg_rghn_fr);
  59. mean_rms_rghn_front = mean(rms_rghn_fr);
  60. mean_max_rghn_front = mean(max_rghn_fr);
  61.  
  62. avg_rghn = zeros(1,maxstep2);
  63. rms_rghn = zeros(1,maxstep2);
  64. max_rghn = zeros(1,maxstep2);
  65.  
  66. step = maxstep1;
  67.  
  68. parfor img_no = 1:maxstep2
  69.         avgSide = img3d(:,img_no,:);
  70.         img = squeeze(avgSide);
  71.         [H,W] = size(img);
  72.         img = uint8(img);
  73.  
  74.         img_gau = imgaussfilt(img,gsigma1);
  75.    
  76.         img_med = medfilt2(img_gau,[med*2 med*2],'symmetric');
  77.         img_med = filt_diff(img_med,H,W,diff_idl);
  78.         [~,ind_idl,~] = find_srf(img_med,H,W); %img_idl
  79.        
  80.         [img_flt,H,W] = flatten(img,H,W,ind_idl,mrg);
  81.  
  82.         img_gau = imgaussfilt(img_flt,gsigma2);
  83.  
  84.         img_diff = filt_diff(img_gau,H,W,diff_rl);
  85.  
  86.         [~,ind_rl,avg_rl] = find_srf(img_diff,H,W); %img_rl
  87.         [avg_rghn(img_no),rms_rghn(img_no),max_rghn(img_no)] = rgh(avg_rl,ind_rl);
  88.  
  89.          if mod(img_no,10) == 0
  90.                %progress = (maxstep1+img_no)./totaldenom;
  91.                %waitbar(progress,h,sprintf('Progress: %d%%',100.*progress));
  92.         end
  93. end
  94.  
  95. img_no = maxstep2;
  96.  
  97. mean_avg_rghn_side = mean(avg_rghn);
  98. mean_rms_rghn_side = mean(rms_rghn);
  99. mean_max_rghn_side = mean(max_rghn);
  100.  
  101. wholetime = toc;
  102. close(h)
Advertisement
Add Comment
Please, Sign In to add comment