tuttelikz

Save images now [+++]

Sep 1st, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.96 KB | None | 0 0
  1. clear all; close all; clc;
  2.  
  3. OpenfilePath = 'C:\Users\TBL\Documents\MATLAB\1708_AMORE\10_MR\backhand';
  4. SavefilePath = 'C:\Users\TBL\Documents\MATLAB\1708_AMORE\10_MR_1\backhand';
  5. max_step = 500;
  6.  
  7.  
  8. minDepth = 153;
  9. maxDepth = 205;
  10. li = 127;
  11. ri = 128;
  12. shif = ri-li;
  13.    
  14. for step = 1:max_step
  15.    
  16.     read_file_name = strcat('Image',num2str(step-1,'%04d'),'.jpg');
  17.     img = imread([OpenfilePath,'\' ,read_file_name]);
  18.     [H,W] = size(img);
  19.     %img = imread('Image0499.jpg');
  20.     diff = 20; %it was 2
  21.     l_crop = 70;
  22.     r_crop = 1;
  23.     t_crop = 14+minDepth-0.75.*minDepth;
  24.     b_crop = 0.75*(H-maxDepth);
  25.    
  26.     up = H-2;%443
  27.     gsigma = 4;
  28.     down = 222;
  29.    
  30.     %img = rgb2gray(img);
  31.     %imshow(img);
  32.     [H,W] = size(img);
  33.  
  34.     % %% Preprocessing
  35.     [img_crop,H_crop,W_crop] = crop(img,H,W,l_crop,r_crop,t_crop,b_crop);
  36.     % imshow(img_crop)
  37.     % imshow(img_crop)
  38.  
  39.     %%
  40.  
  41.     rotDeg = atand(shif/W_crop);
  42.    
  43.    
  44.  
  45.     if abs(rotDeg) > 2
  46.         img_crop = imrotate(img_crop,rotDeg);
  47.     else
  48.         rotDeg = 0;
  49.     end
  50.     [H,W] = size(img_crop);
  51.     %%
  52.     [row,col] = find(img_crop);
  53.     maxRow = max(row);
  54.     minRow = min(row);
  55.  
  56.     if rotDeg > 0
  57.         % Case this is rotated to left side
  58.         colLeft = find(img_crop(maxRow,:));
  59.         cLeft = max(colLeft);
  60.  
  61.         rowLeft = find(img_crop(:,cLeft));
  62.         rLeft = min(rowLeft);
  63.  
  64.         %[rLeftM,rLeftI] = max(img_crop(:,cLeft));%-30
  65.  
  66.         rLeftI = rLeft-(shif-160); %-60
  67.         %rLeftI = rLeft-min(20,(shif-100)); %-60
  68.         [img_crop,H_crop,W_crop] = crop(img_crop,H,W,cLeft,cLeft,1,rLeftI);
  69.     elseif rotDeg < 0
  70.         colRight = find(img_crop(maxRow,:));
  71.         cRight = min(colRight);
  72.         cRight = W-cRight;
  73.         rowRight = find(img_crop(:,cRight));
  74.         rRight = min(rowRight);
  75.         %[rRightM,rRightI] = max(img_crop(:,cRight));%-30
  76.         rRight = rRight+abs(shif); %+40
  77.  
  78.         [img_crop,H_crop,W_crop] = crop(img_crop,H,W,cRight,cRight,rRight,rRight);
  79.     else
  80.     end
  81.  
  82.  
  83.     %%
  84.     img_filt = imgaussfilt(img_crop,gsigma);
  85.  
  86.     %img_filt = imgaussfilt(img_crop,gsigma);
  87.  
  88.     %%
  89.     diff = 1;
  90.     img_diff = filt_diff(img_filt,H_crop,W_crop,diff);
  91.     up = H_crop-2;
  92.     [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
  93.  
  94.     for i = 1:W_crop
  95.       img_crop(1:line1(i),i) = 0;  
  96.     end
  97.  
  98.     %%
  99.     % diff= 1;
  100.     % img_diff = filt_diff(img_filt,H_crop,W_crop,diff);
  101.     % up = H_crop-2;
  102.     % [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
  103.  
  104.  
  105.     img_line_surf_med = medfilt2(img_crop, [4 4]);
  106.     %%
  107.  
  108.     img_diff = filt_diff(img_line_surf_med,H_crop,W_crop,diff);
  109.     [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
  110.  
  111.     for i = 1:W_crop
  112.       img_line_surf(1:line1(i)-1,i) = 255;  
  113.     end
  114.  
  115.     %%
  116.     img_line_surf = medfilt2(img_line_surf,[1 55]);
  117.     [line3V,line3I] = min(img_line_surf);
  118.    
  119.     for i = 1:W_crop
  120.       img_crop(1:line3I(i),i) = 0;  
  121.     end
  122.  
  123.     [H,W] = size(img_crop);
  124.     diff = 2;
  125.    
  126.     h_temp = 249; %%199 rotdeg na 5
  127.     w_temp = 819;
  128.     %
  129.     %
  130.     l_crop = (W-w_temp)/2;
  131.     r_crop = l_crop;
  132.    
  133. %      t_crop = (H - h_temp)/8;
  134. %      b_crop = 7*t_crop;
  135.      
  136. %      t_crop = (H - h_temp)/2;
  137. %      b_crop = t_crop;
  138.  
  139.    
  140.     t_crop = (H-h_temp)/6;
  141.     b_crop = 5*t_crop;
  142.  
  143. %    b_crop = (H-h_temp)/16;
  144. %    t_crop = 15*b_crop;\
  145.  
  146.  
  147. %     t_crop = (H-h_temp)/2;
  148. %     b_crop = t_crop;
  149.  
  150.  
  151. %
  152. %    t_crop = (H-h_temp)/4;
  153. %    b_crop = 3*t_crop;
  154. %    t_crop = (H-h_temp)/20;
  155. %    b_crop = 19*t_crop;
  156. %    t_crop = (H-h_temp)/20;
  157. %    b_crop = 19*t_crop;
  158.  
  159.    
  160.     [img_crop,H_crop,W_crop] = crop(img_crop,H,W,l_crop,r_crop,t_crop,b_crop);
  161.     write_file_name = read_file_name;
  162.     imwrite(img_crop,fullfile(SavefilePath,write_file_name));
  163.     fprintf('%i\n', step);
  164. end
Add Comment
Please, Sign In to add comment