Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all; close all; clc;
- OpenfilePath = 'C:\Users\TBL\Documents\MATLAB\1708_AMORE\10_MR\backhand';
- SavefilePath = 'C:\Users\TBL\Documents\MATLAB\1708_AMORE\10_MR_1\backhand';
- max_step = 500;
- minDepth = 153;
- maxDepth = 205;
- li = 127;
- ri = 128;
- shif = ri-li;
- for step = 1:max_step
- read_file_name = strcat('Image',num2str(step-1,'%04d'),'.jpg');
- img = imread([OpenfilePath,'\' ,read_file_name]);
- [H,W] = size(img);
- %img = imread('Image0499.jpg');
- diff = 20; %it was 2
- l_crop = 70;
- r_crop = 1;
- t_crop = 14+minDepth-0.75.*minDepth;
- b_crop = 0.75*(H-maxDepth);
- up = H-2;%443
- gsigma = 4;
- down = 222;
- %img = rgb2gray(img);
- %imshow(img);
- [H,W] = size(img);
- % %% Preprocessing
- [img_crop,H_crop,W_crop] = crop(img,H,W,l_crop,r_crop,t_crop,b_crop);
- % imshow(img_crop)
- % imshow(img_crop)
- %%
- rotDeg = atand(shif/W_crop);
- if abs(rotDeg) > 2
- img_crop = imrotate(img_crop,rotDeg);
- else
- rotDeg = 0;
- end
- [H,W] = size(img_crop);
- %%
- [row,col] = find(img_crop);
- maxRow = max(row);
- minRow = min(row);
- if rotDeg > 0
- % Case this is rotated to left side
- colLeft = find(img_crop(maxRow,:));
- cLeft = max(colLeft);
- rowLeft = find(img_crop(:,cLeft));
- rLeft = min(rowLeft);
- %[rLeftM,rLeftI] = max(img_crop(:,cLeft));%-30
- rLeftI = rLeft-(shif-160); %-60
- %rLeftI = rLeft-min(20,(shif-100)); %-60
- [img_crop,H_crop,W_crop] = crop(img_crop,H,W,cLeft,cLeft,1,rLeftI);
- elseif rotDeg < 0
- colRight = find(img_crop(maxRow,:));
- cRight = min(colRight);
- cRight = W-cRight;
- rowRight = find(img_crop(:,cRight));
- rRight = min(rowRight);
- %[rRightM,rRightI] = max(img_crop(:,cRight));%-30
- rRight = rRight+abs(shif); %+40
- [img_crop,H_crop,W_crop] = crop(img_crop,H,W,cRight,cRight,rRight,rRight);
- else
- end
- %%
- img_filt = imgaussfilt(img_crop,gsigma);
- %img_filt = imgaussfilt(img_crop,gsigma);
- %%
- diff = 1;
- img_diff = filt_diff(img_filt,H_crop,W_crop,diff);
- up = H_crop-2;
- [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
- for i = 1:W_crop
- img_crop(1:line1(i),i) = 0;
- end
- %%
- % diff= 1;
- % img_diff = filt_diff(img_filt,H_crop,W_crop,diff);
- % up = H_crop-2;
- % [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
- img_line_surf_med = medfilt2(img_crop, [4 4]);
- %%
- img_diff = filt_diff(img_line_surf_med,H_crop,W_crop,diff);
- [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
- for i = 1:W_crop
- img_line_surf(1:line1(i)-1,i) = 255;
- end
- %%
- img_line_surf = medfilt2(img_line_surf,[1 55]);
- [line3V,line3I] = min(img_line_surf);
- for i = 1:W_crop
- img_crop(1:line3I(i),i) = 0;
- end
- [H,W] = size(img_crop);
- diff = 2;
- h_temp = 249; %%199 rotdeg na 5
- w_temp = 819;
- %
- %
- l_crop = (W-w_temp)/2;
- r_crop = l_crop;
- % t_crop = (H - h_temp)/8;
- % b_crop = 7*t_crop;
- % t_crop = (H - h_temp)/2;
- % b_crop = t_crop;
- t_crop = (H-h_temp)/6;
- b_crop = 5*t_crop;
- % b_crop = (H-h_temp)/16;
- % t_crop = 15*b_crop;\
- % t_crop = (H-h_temp)/2;
- % b_crop = t_crop;
- %
- % t_crop = (H-h_temp)/4;
- % b_crop = 3*t_crop;
- % t_crop = (H-h_temp)/20;
- % b_crop = 19*t_crop;
- % t_crop = (H-h_temp)/20;
- % b_crop = 19*t_crop;
- [img_crop,H_crop,W_crop] = crop(img_crop,H,W,l_crop,r_crop,t_crop,b_crop);
- write_file_name = read_file_name;
- imwrite(img_crop,fullfile(SavefilePath,write_file_name));
- fprintf('%i\n', step);
- end
Add Comment
Please, Sign In to add comment