Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- close all; clear all; clc;
- addpath('C:\Users\iptea\Documents\MATLAB\Nonreplica September_ROUGHNESS\Roughness_Amore_Skin2017\General');
- %%
- data_pth = 'C:\Users\iptea\Documents\MATLAB\skin_data_171017';
- folder = 'F:\Amore_Skin';
- d = dir;
- d = d(~ismember({d.name},{'.','..'}));
- %%
- sbj = {'1','2','3','4','5'};
- part = {'y_cheek','o_cheek','y_eye','o_eye','y_forearm','o_forearm'};
- %%
- sht_tbl = 'rgh_frnt_inp_refparams_FINALDONTTOUCH.xlsx';
- T = readtable(sht_tbl,'ReadRowNames',false);
- l_crop_list_o = T{1:15,6};
- gau1_list_o = T{1:15,7};
- med_list_o = T{1:15,8};
- gau2_list_o = T{1:15,9};
- l_crop_list_y = T{1:15,15};
- gau1_list_y = T{1:15,16};
- med_list_y = T{1:15,17};
- gau2_list_y = T{1:15,18};
- med_arr = zeros(5,6);
- gsigma2_arr = zeros(5,6);
- l_crop_arr = zeros(5,6);
- gsigma1_arr = zeros(5,6);
- l_crop_arr(:,1) = l_crop_list_y(1:5,1);
- l_crop_arr(:,2) = l_crop_list_o(1:5,1);
- l_crop_arr(:,3) = l_crop_list_y(6:10,1);
- l_crop_arr(:,4) = l_crop_list_o(6:10,1);
- l_crop_arr(:,5) = l_crop_list_y(11:15,1);
- l_crop_arr(:,6) = l_crop_list_o(11:15,1);
- med_arr(:,1) = med_list_y(1:5,1);
- med_arr(:,2) = med_list_o(1:5,1);
- med_arr(:,3) = med_list_y(6:10,1);
- med_arr(:,4) = med_list_o(6:10,1);
- med_arr(:,5) = med_list_y(11:15,1);
- med_arr(:,6) = med_list_o(11:15,1);
- gsigma1_arr(:,1) = gau1_list_y(1:5,1);
- gsigma1_arr(:,2) = gau1_list_o(1:5,1);
- gsigma1_arr(:,3) = gau1_list_y(6:10,1);
- gsigma1_arr(:,4) = gau1_list_o(6:10,1);
- gsigma1_arr(:,5) = gau1_list_y(11:15,1);
- gsigma1_arr(:,6) = gau1_list_o(11:15,1);
- gsigma2_arr(:,1) = gau2_list_y(1:5,1);
- gsigma2_arr(:,2) = gau2_list_o(1:5,1);
- gsigma2_arr(:,3) = gau2_list_y(6:10,1);
- gsigma2_arr(:,4) = gau2_list_o(6:10,1);
- gsigma2_arr(:,5) = gau2_list_y(11:15,1);
- gsigma2_arr(:,6) = gau2_list_o(11:15,1);
- %%
- sht_name = 'rgh_frnt_save_images.xlsx';
- ttl = {'part','sbj','avg_rgh','rms_rgh','max_rgh'};
- ttl_rng1 = 'B1:F1';
- xlswrite(sht_name,ttl,ttl_rng1);
- %%
- ttl_rng2 = 'H1:L1';
- xlswrite(sht_name,ttl,ttl_rng2);
- %%
- % avg_rgh = zeros(1,max_no);
- % rms_rgh = zeros(1,max_no);
- % max_rgh = zeros(1,max_no);
- %%
- counter = 0;
- incr1 = 1;
- incr2 = 2;
- %%
- %two_di_array = zeros(1,max_no);
- %%
- for part_no = 6:6 %length(part)
- for sbj_no = 4:4 %length(sbj)
- fld_pth = strcat(data_pth,'\',sbj{sbj_no},'\',part{part_no},'\');
- save_fld_path = strcat(folder,'\',sbj{sbj_no},'\',part{part_no},'\');
- imgFilePath = dir([fld_pth '/*.jpg']);
- imgFilesNo = size(imgFilePath,1);
- max_no = imgFilesNo; %imgFilesNo;
- %save_fld_path = strcat(save_data_path,'\',sbj{sbj_no},'\',part{part_no},'\');
- disp(fld_pth);
- two_di_arr = zeros(max_no,385); %300
- parfor img_no = 1:max_no
- %parfor img_no = 1:max_no
- pause(rand*0.01);
- fprintf('|\n');
- % fprintf('.');
- % if mod(img_no,100) == 0
- % fprintf('%i\n',img_no);
- % end
- img_name = strcat('Image',num2str(img_no-1,'%04d'),'.jpg');
- img = imread(strcat(fld_pth,img_name));
- [H,W] = size(img);
- t_crop = 20;
- r_crop = 55;
- b_crop = 500;
- l_crop = l_crop_arr(sbj_no,part_no); %145; %l_crop_arr(sbj_no,part_no);
- [img_crp,H,W] = crop(img,H,W,l_crop,r_crop,t_crop,b_crop);
- % figure()
- % imshow(img_crp);
- %%
- gsigma1 = gsigma1_arr(sbj_no,part_no);
- img_gau = imgaussfilt(img_crp,gsigma1);
- % figure()
- % imshow(img_gau,[]);
- %% Finding ideal surface
- % med = 60; %90
- med = med_arr(sbj_no,part_no); %med_arr(sbj_no,part_no); %60
- diff_idl = 2;
- %med = 10;
- img_med = medfilt2(img_gau,[med*2 med*2],'symmetric');
- % figure()
- % imshow(img_med,[]);
- img_med = filt_diff(img_med,H,W,diff_idl);
- % figure()
- % imshow(img_med,[]);
- [img_idl,ind_idl,~] = find_srf(img_med,H,W);
- mrg = 60;
- [img_flt,H,W] = flatten(img_crp,H,W,ind_idl,mrg);
- % figure()
- % imshow(img_flt,[]);
- gsigma2 = gsigma2_arr(sbj_no,part_no); %60 gsigma_arr(sbj_no,part_no);
- % gsigma = 10; %11
- img_gau = imgaussfilt(img_flt,gsigma2);
- diff_rl = 2;
- img_diff = filt_diff(img_gau,H,W,diff_rl);
- [img_rl,ind_rl,avg_rl] = find_srf(img_diff,H,W); %img_rl
- [hh,ww] = size(img_rl)
- two_di_arr(img_no,:) = ind_rl;
- % figure()
- % imshow(img_rl,[]);
- %
- img_flt = img_flt-min(img_flt(:));
- img_flt = img_flt/max(img_flt(:));
- %img_filename = strcat(save_fld_path,img_name);
- %imwrite(img_flt,img_filename);
- %imwrite(img_flt,fullfile(save_fld_path,img_name));
- end
- fprintf('\n%i out of %i\n', counter, length(part)*length(sbj));
- end
- end
- fprintf('Process finished.\n');
- %}
- %%
- two_di_arr_norma = two_di_arr-min(two_di_arr(:));
- two_di_arr_norma = two_di_arr/max(two_di_arr(:));
- %%
- % two_di_arr_norma = two_di_arr-min(two_di_arr(:)-80);
- % two_di_arr_norma = two_di_arr/max(two_di_arr(:)-20);
- min(two_di_arr(:))
- max(two_di_arr(:))
- %%
- med_two_di_arr = medfilt2(two_di_arr,[7 7]);
- %%
- figure()
- image(med_two_di_arr,'CDataMapping' , 'scaled')
- caxis([60 63.5])
- colormap jet
- colorbar
- %%
- % image(two_di_arr_norma);
- % colormap(gray(1));
- % %%
- % map = [0.83, 0.83, 0.83
- % 0.7, 0.7, 0
- % 0.1, 0.5, 0.8
- % 0.2, 0.7, 0.6
- % 1, 0, 0
- % ];
- % imshow(two_di_arr_norma, [], map);
- %
- % %%
- % %two_di_arr_norma = two_di_arr_norma*255;
- % colormap jet
- % image(two_di_arr_norma);
Advertisement
Add Comment
Please, Sign In to add comment