Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tic;
- addpath('D:\Labview Projects\matlab_script_skin');
- imgFilePath = dir([filePath '/*.jpg']);
- imgFilesNo = size(imgFilePath,1);
- imgName = imgFilePath(1).name;
- img = imread([filePath,'\',imgName]);
- [H,W] = size(img);
- img3d = zeros(H,W,imgFilesNo);
- avg_rghn_fr = zeros(1,imgFilesNo);
- rms_rghn_fr = zeros(1,imgFilesNo);
- max_rghn_fr = zeros(1,imgFilesNo);
- mrg = 60;
- h = waitbar(0,'Please wait...');
- maxstep1 = 50;
- maxstep2 = 50;
- totaldenom = maxstep1+maxstep2;
- diff_idl = 2;
- diff_rl = 2;
- step = 0;
- img_no = 0;
- parfor step = 1:maxstep1
- imgName = imgFilePath(step).name;
- img = imread([filePath,'\',imgName]);
- img3d(:,:,step) = img;
- [H,W] = size(img);
- img = uint8(img);
- img_gau = imgaussfilt(img,gsigma1);
- img_med = medfilt2(img_gau,[med*2 med*2],'symmetric');
- img_med = filt_diff(img_med,H,W,diff_idl);
- [~,ind_idl,~] = find_srf(img_med,H,W); %img_idl
- [img_flt,H,W] = flatten(img,H,W,ind_idl,mrg);
- img_gau = imgaussfilt(img_flt,gsigma2);
- img_diff = filt_diff(img_gau,H,W,diff_rl);
- [~,ind_rl,avg_rl] = find_srf(img_diff,H,W); %img_rl
- [avg_rghn_fr(step),rms_rghn_fr(step),max_rghn_fr(step)] = rgh(avg_rl,ind_rl);
- if mod(step,10) == 0
- % progress = 100*step / maxsteps;
- %waitbar(step / maxstep,h,sprintf('Progress: %d%%',progress));
- %progress = (step+img_no)./totaldenom;
- %waitbar(progress,h,sprintf('Progress: %d%%',100.*progress));
- end
- end
- mean_avg_rghn_front = mean(avg_rghn_fr);
- mean_rms_rghn_front = mean(rms_rghn_fr);
- mean_max_rghn_front = mean(max_rghn_fr);
- avg_rghn = zeros(1,maxstep2);
- rms_rghn = zeros(1,maxstep2);
- max_rghn = zeros(1,maxstep2);
- step = maxstep1;
- parfor img_no = 1:maxstep2
- avgSide = img3d(:,img_no,:);
- img = squeeze(avgSide);
- [H,W] = size(img);
- img = uint8(img);
- img_gau = imgaussfilt(img,gsigma1);
- img_med = medfilt2(img_gau,[med*2 med*2],'symmetric');
- img_med = filt_diff(img_med,H,W,diff_idl);
- [~,ind_idl,~] = find_srf(img_med,H,W); %img_idl
- [img_flt,H,W] = flatten(img,H,W,ind_idl,mrg);
- img_gau = imgaussfilt(img_flt,gsigma2);
- img_diff = filt_diff(img_gau,H,W,diff_rl);
- [~,ind_rl,avg_rl] = find_srf(img_diff,H,W); %img_rl
- [avg_rghn(img_no),rms_rghn(img_no),max_rghn(img_no)] = rgh(avg_rl,ind_rl);
- if mod(img_no,10) == 0
- %progress = (maxstep1+img_no)./totaldenom;
- %waitbar(progress,h,sprintf('Progress: %d%%',100.*progress));
- end
- end
- img_no = maxstep2;
- mean_avg_rghn_side = mean(avg_rghn);
- mean_rms_rghn_side = mean(rms_rghn);
- mean_max_rghn_side = mean(max_rghn);
- wholetime = toc;
- close(h)
Advertisement
Add Comment
Please, Sign In to add comment