tuttelikz

front_main_single [?]

Oct 2nd, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 4.02 KB | None | 0 0
  1. clear all; close all; clc;
  2. addpath('C:\Users\iptea\Documents\MATLAB\Nonreplica September_ROUGHNESS\Roughness_Amore_1\General');
  3.  
  4. %%
  5. OpenfilePath = 'C:\Users\iptea\Documents\MATLAB\AMORE_ROUGHNESS\01_KB\backhand';
  6. img = imread([OpenfilePath,'\Image0000.jpg']);
  7. % figure()
  8. % imshow(img);
  9. [H,W] = size(img);
  10.  
  11. %%
  12. l_crop = 130;
  13. t_crop = 20;
  14. r_crop = 0;
  15. b_crop = 300;
  16.  
  17. [img_crop,H,W] = crop(img,H,W,l_crop,r_crop,t_crop,b_crop);
  18. % figure()
  19. % imshow(img_crop);
  20.  
  21. %%
  22. % up = H_crop-2;
  23. % down = 222;
  24.  
  25. gsigma = 6;
  26. img_filt = imgaussfilt(img_crop,gsigma);
  27. diff = 10;
  28. img_diff = filt_diff(img_filt,H,W,diff);
  29. % img_line_surf_med = medfilt2(img_crop, [4 4]);
  30. %%
  31.  
  32.  
  33.  
  34. %up = H-2;
  35. %%
  36. diff_surf = 2;
  37. [img_line,lcl_ind,avg_ind,img_ref] = line_surf3(img_diff,H,W);
  38.  
  39. figure()
  40. imshow(img_line,[])
  41. hold on
  42. plot(avg_ind)
  43.  
  44. %{
  45. for i = 1:W_crop
  46.   img_line_surf(1:line1(i)-1,i) = 255;  
  47. end
  48.  
  49. %%
  50. img_line_surf = medfilt2(img_line_surf,[1 33]);
  51. [line3V,line3I] = min(img_line_surf);
  52.  
  53. for i = 1:W_crop
  54.   img_crop(1:line3I(i),i) = 0;  
  55. end
  56.  
  57. [H,W] = size(img_crop);
  58.  
  59. diffLine2 = 5;
  60. med = 60;
  61. %img_med = imgaussfilt(img_crop,gsigma);
  62. img_med = padarray(img_crop',med,'replicate','both');
  63. img_med = padarray(img_med',med,'replicate','both');
  64. img_med = medfilt2(img_med,[med*2 med*2]);
  65. img_med = img_med([med+1:H+med],[med+1:W+med]);
  66. img_filt1 = zeros(H+diffLine2,W);
  67. img_filt2 = zeros(H+diffLine2,W);
  68.  
  69. img_filt1([diffLine2+1:H+diffLine2],:) = img_med;
  70. img_filt2([1:H],[1:W]) = img_med;
  71.  
  72. %%
  73. img_med = img_filt1 - img_filt2;
  74. img_med = img_med([diffLine2+1:H+diffLine2],:);
  75. %%
  76.  
  77. %%
  78. % figure();
  79. % imshow(img_med,[]);
  80.  
  81. img_line2 = zeros(H,W);
  82.  
  83. %diff = 10;
  84. for i = 1:W
  85.     [local_max,local_index] = min(img_med(:,i));
  86.     img_line2(local_index,i) = 255; %+2 %-10    ubrat -diff
  87.     line2(i) = local_index-diffLine2; %brat -diff
  88. end
  89.        
  90. % plot(img_line_surf)
  91.  
  92. figure()
  93. imshow(img_crop)
  94. hold on
  95. plot(line3I)
  96. plot(line2)
  97. hold off
  98.  
  99. I = line2;
  100. minRow = min(I);
  101.  
  102. for i = 1:W
  103.     diffShift(i) = I(i)-minRow;
  104.     lowLine1(i) = I(i)+100-diffShift(i);
  105. end
  106. %imshow(img_filt)
  107.  
  108. im = zeros(H,W);
  109. topshift = 30;
  110. %b = 500;
  111. c = 20;
  112. %        
  113. %        
  114. size(img_med,2)
  115. for i=1:size(im,2)
  116.     j=473-I(i);
  117.     im(topshift+1-c:(topshift+j-9),i)=img_crop(I(i)-c:(I(i)-10+j),i);
  118.     %im(topshift+1-c:(topshift+j-9),i)=img_crop(I(i)-c:(I(i)-10+j),i);
  119. end
  120. %      
  121.  
  122. img_filt = imgaussfilt(im,gsigma);
  123. img_diff = filt_diff(img_filt,H,W,diffLine1);
  124. [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H,W,diffLine1,up,down);
  125.  
  126. figure()
  127. imshow(im,[])
  128. hold on
  129. plot(line1)
  130. plot(avg_index)
  131. hold off
  132.  
  133.  
  134. % r_crop = 1;
  135.  
  136.  
  137. [peak_height,valley_depth] = peak_valley(line1,avg_index,W);
  138. [avg_rough,rms_rough,max_rough,total_rough] = roughness(peak_height,valley_depth)
  139.  
  140.  
  141. t_crop = 1;
  142. l_crop = 1;
  143. r_crop = 1;
  144. b_crop = 500;
  145. [H,W] = size(im);
  146. [img_crop,H_crop,W_crop] = crop(im,H,W,l_crop,r_crop,t_crop,b_crop);
  147.  
  148.  
  149. figure()
  150. imshow(img_crop,[])
  151.  
  152.  
  153. %}
  154.  
  155.  
  156.  
  157. % hold on
  158. % plot(line1)
  159. % plot(avg_index)
  160. % hold off
  161.  
  162.  
  163.  
  164. % figure()
  165. % imshow(img_crop,[])
  166.  
  167.        
  168. % hold off
  169. % figure()
  170. % imshow(img_line_surf)
  171.  
  172.  
  173.  
  174. %03_PU\forehead' crop
  175. %09_NY\forehead' crop
  176. %08_MA\backhand' crop
  177. %08_MA\forehead crop
  178. %09_NY\forehead' hair
  179. %10_MR\forehead small hair
  180. %03_PU\backhand' small hair
  181. %03_PU\forearm' small hair
  182. %04_HG\backhand' small hair
  183. %04_HG\forearm' big hair
  184. %05_HR\forearm' big hair
  185. %05_HG\backhand' big hair
  186. %07_EJ\backhand' big hair
  187.  
  188.  
  189.  
  190.  
  191. %     img_filt1 = zeros(H+diff,W);            % make 2d buffer for differential image
  192. %     img_filt2 = zeros(H+diff,W);    
  193. %
  194. %     img_filt1(diff+1:diff+H,:) = img_filt;   % put image data to buffer array
  195. %     img_filt2(1:H,1:W) = img_filt;            
  196. %
  197. %     img_diff = img_filt1 - img_filt2;        % calculate differential
  198. %    
  199. %     img_diff = img_diff(diff+1:diff+H,:);    % cut margin part 2 pixel.
  200. %     figure()
  201. %     imshow(img_filt1,[])
  202. %     figure()
  203. %     imshow(img_filt2,[])
  204. %     figure()
  205. %     imshow(img_diff,[])
Advertisement
Add Comment
Please, Sign In to add comment