Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tic;
- clc, clear all, close all
- addpath('D:\Labview Projects\matlab_script_skin');
- %filePath = 'C:\Users\iptea\Documents\MATLAB\MEMS_SD';
- filePath = 'C:\Users\iptea\Documents\MATLAB\MEMS_SD'
- imgFilePath = dir([filePath '/*.jpg']);
- imgFilesNo = size(imgFilePath,1);
- imgName = imgFilePath(1).name;
- srcimg = imread([filePath,'\',imgName]);
- l_crop = 78;
- r_crop = 112;
- t_crop = 35;
- b_crop = 47;
- srcimg = rgb2gray(srcimg);
- [H,W] = size(srcimg);
- [srcimg,H,W] = crop(srcimg,H,W,l_crop,r_crop,t_crop,b_crop);
- img3d = zeros(H,W,imgFilesNo);
- imgWidth = W;
- avg_rghn_fr = zeros(1,imgFilesNo);
- rms_rghn_fr = zeros(1,imgFilesNo);
- max_rghn_fr = zeros(1,imgFilesNo);
- mrg = 60;
- diff_idl = 2;
- diff_rl = 2;
- gsigma1 = 2;
- gsigma2 = 2;
- med = 5;
- hbar = parfor_progressbar(imgFilesNo+imgWidth,'Please wait...'); %create the progress bar
- %parfor_progress(imgFilesNo); % Initialize
- parfor step = 1:imgFilesNo
- imgName = imgFilePath(step).name;
- img = imread([filePath,'\',imgName]);
- img = rgb2gray(img);
- [H,W] = size(img);
- [img,H,W] = crop(img,H,W,l_crop,r_crop,t_crop,b_crop);
- img = uint8(img);
- img3d(:,:,step) = img;
- img_gau = imgaussfilt(img,gsigma1);
- %imshow(img_gau)
- img_med = medfilt2(img_gau,[med*2 med*2],'symmetric');
- img_med = filt_diff(img_med,H,W,diff_idl);
- %imshow(img_med,[])
- %[~,ind_idl,~] = find_srf(img_med,H,W); %img_idl
- [~,ind_idl,~] = find_srf(img_med,H,W); %img_idl
- %imshow(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);
- %imshow(img_diff,[])
- [~,ind_rl,avg_rl] = find_srf(img_diff,H,W); %img_rl
- %imshow(img_rl,[])
- [avg_rghn_fr(step),rms_rghn_fr(step),max_rghn_fr(step)] = rgh(avg_rl,ind_rl);
- pause(rand); % computation
- hbar.iterate(1);
- 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,imgWidth);
- rms_rghn = zeros(1,imgWidth);
- max_rghn = zeros(1,imgWidth);
- parfor img_no = 1:imgWidth
- 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);
- pause(rand);
- hbar.iterate(1);
- end
- mean_avg_rghn_side = mean(avg_rghn);
- mean_rms_rghn_side = mean(rms_rghn);
- mean_max_rghn_side = mean(max_rghn);
- area_avg_rghn = mean_avg_rghn_side * mean_avg_rghn_front;
- area_rms_rghn = mean_rms_rghn_side * mean_rms_rghn_front;
- area_max_rghn = max(mean_max_rghn_side,mean_max_rghn_front);
- wholetime = toc;
- close(hbar);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement