Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all; close all; clc;
- addpath('C:\Users\iptea\Documents\MATLAB\Nonreplica September_ROUGHNESS\Roughness_Amore_1\General');
- %%
- OpenfilePath = 'C:\Users\iptea\Documents\MATLAB\AMORE_ROUGHNESS\01_KB\backhand';
- img = imread([OpenfilePath,'\Image0000.jpg']);
- % figure()
- % imshow(img);
- [H,W] = size(img);
- %%
- l_crop = 130;
- t_crop = 20;
- r_crop = 0;
- b_crop = 300;
- [img_crop,H,W] = crop(img,H,W,l_crop,r_crop,t_crop,b_crop);
- % figure()
- % imshow(img_crop);
- %%
- % up = H_crop-2;
- % down = 222;
- gsigma = 6;
- img_filt = imgaussfilt(img_crop,gsigma);
- diff = 10;
- img_diff = filt_diff(img_filt,H,W,diff);
- % img_line_surf_med = medfilt2(img_crop, [4 4]);
- %%
- %up = H-2;
- %%
- diff_surf = 2;
- [img_line,lcl_ind,avg_ind,img_ref] = line_surf3(img_diff,H,W);
- figure()
- imshow(img_line,[])
- hold on
- plot(avg_ind)
- %{
- for i = 1:W_crop
- img_line_surf(1:line1(i)-1,i) = 255;
- end
- %%
- img_line_surf = medfilt2(img_line_surf,[1 33]);
- [line3V,line3I] = min(img_line_surf);
- for i = 1:W_crop
- img_crop(1:line3I(i),i) = 0;
- end
- [H,W] = size(img_crop);
- diffLine2 = 5;
- med = 60;
- %img_med = imgaussfilt(img_crop,gsigma);
- img_med = padarray(img_crop',med,'replicate','both');
- img_med = padarray(img_med',med,'replicate','both');
- img_med = medfilt2(img_med,[med*2 med*2]);
- img_med = img_med([med+1:H+med],[med+1:W+med]);
- img_filt1 = zeros(H+diffLine2,W);
- img_filt2 = zeros(H+diffLine2,W);
- img_filt1([diffLine2+1:H+diffLine2],:) = img_med;
- img_filt2([1:H],[1:W]) = img_med;
- %%
- img_med = img_filt1 - img_filt2;
- img_med = img_med([diffLine2+1:H+diffLine2],:);
- %%
- %%
- % figure();
- % imshow(img_med,[]);
- img_line2 = zeros(H,W);
- %diff = 10;
- for i = 1:W
- [local_max,local_index] = min(img_med(:,i));
- img_line2(local_index,i) = 255; %+2 %-10 ubrat -diff
- line2(i) = local_index-diffLine2; %brat -diff
- end
- % plot(img_line_surf)
- figure()
- imshow(img_crop)
- hold on
- plot(line3I)
- plot(line2)
- hold off
- I = line2;
- minRow = min(I);
- for i = 1:W
- diffShift(i) = I(i)-minRow;
- lowLine1(i) = I(i)+100-diffShift(i);
- end
- %imshow(img_filt)
- im = zeros(H,W);
- topshift = 30;
- %b = 500;
- c = 20;
- %
- %
- size(img_med,2)
- for i=1:size(im,2)
- j=473-I(i);
- im(topshift+1-c:(topshift+j-9),i)=img_crop(I(i)-c:(I(i)-10+j),i);
- %im(topshift+1-c:(topshift+j-9),i)=img_crop(I(i)-c:(I(i)-10+j),i);
- end
- %
- img_filt = imgaussfilt(im,gsigma);
- img_diff = filt_diff(img_filt,H,W,diffLine1);
- [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H,W,diffLine1,up,down);
- figure()
- imshow(im,[])
- hold on
- plot(line1)
- plot(avg_index)
- hold off
- % r_crop = 1;
- [peak_height,valley_depth] = peak_valley(line1,avg_index,W);
- [avg_rough,rms_rough,max_rough,total_rough] = roughness(peak_height,valley_depth)
- t_crop = 1;
- l_crop = 1;
- r_crop = 1;
- b_crop = 500;
- [H,W] = size(im);
- [img_crop,H_crop,W_crop] = crop(im,H,W,l_crop,r_crop,t_crop,b_crop);
- figure()
- imshow(img_crop,[])
- %}
- % hold on
- % plot(line1)
- % plot(avg_index)
- % hold off
- % figure()
- % imshow(img_crop,[])
- % hold off
- % figure()
- % imshow(img_line_surf)
- %03_PU\forehead' crop
- %09_NY\forehead' crop
- %08_MA\backhand' crop
- %08_MA\forehead crop
- %09_NY\forehead' hair
- %10_MR\forehead small hair
- %03_PU\backhand' small hair
- %03_PU\forearm' small hair
- %04_HG\backhand' small hair
- %04_HG\forearm' big hair
- %05_HR\forearm' big hair
- %05_HG\backhand' big hair
- %07_EJ\backhand' big hair
- % img_filt1 = zeros(H+diff,W); % make 2d buffer for differential image
- % img_filt2 = zeros(H+diff,W);
- %
- % img_filt1(diff+1:diff+H,:) = img_filt; % put image data to buffer array
- % img_filt2(1:H,1:W) = img_filt;
- %
- % img_diff = img_filt1 - img_filt2; % calculate differential
- %
- % img_diff = img_diff(diff+1:diff+H,:); % cut margin part 2 pixel.
- % figure()
- % imshow(img_filt1,[])
- % figure()
- % imshow(img_filt2,[])
- % figure()
- % imshow(img_diff,[])
Advertisement
Add Comment
Please, Sign In to add comment