tuttelikz

medfilt result [+-]

Aug 30th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 16.05 KB | None | 0 0
  1. clear all; close all; clc;
  2. %% Input images information
  3. %addpath('C:\Users\TBL\Documents\MATLAB\Wrinkle Quantification\Skin_Demo\Single\Wrinkle_Detection\')
  4. %img = imread('bb _333.jpg');
  5.  
  6. %% Negative degree
  7. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\02_YJ\AF_backhand')
  8. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\01_KB\AF_forehead')
  9. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\02_YJ\AF_forehead')
  10. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\02_YJ\AF_forehead')
  11. %% zero degree
  12. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\01_KB\AF_backhand')
  13. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\01_KB\AF_backhand')
  14. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\10_MR\AF_forearm')
  15. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\08_MA\   forearm')
  16. %% Positive degree
  17. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\06_HG\AF_forehead') %Net
  18. %volosa
  19. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\04_HG\AF_forehead')
  20. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\03_PU\AF_forehead')
  21. addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\05_HR\AF_forehead')  %Volosy
  22. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\06_HG\AF_forehead')
  23.  
  24.  
  25. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\06_HG\forehead');
  26.  
  27.  
  28. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\07_EJ\AF_forearm')
  29. %addpath('C:\Users\TBL\Documents\MATLAB\1708_AMORE\10_MR\forehead')
  30.  
  31.  
  32. img = imread('Image0499.jpg');
  33. %img = imread('Image0499.jpg');
  34.  
  35. %img = rgb2gray(img);
  36. %imshow(img);
  37. [H,W] = size(img);
  38.  
  39. %% Parameters setup
  40. [lm,li] = max(img(5:H,51:W));
  41. minDepth = min(li)
  42. maxDepth = max(li)
  43. %%
  44.  
  45. diff = 20; %it was 2
  46. l_crop = 50;
  47. r_crop = 1;
  48. t_crop = 14+minDepth-0.75.*minDepth;
  49. b_crop = 0.75*(H-maxDepth);
  50. %b_crop = 2*minDepth;
  51. %%
  52. up = H-2;%443
  53. gsigma = 4;
  54. down = 222;
  55. % %% Preprocessing
  56. [img_crop,H_crop,W_crop] = crop(img,H,W,l_crop,r_crop,t_crop,b_crop);
  57. % imshow(img_crop)
  58. % imshow(img_crop)
  59. %%
  60. figure()
  61. imshow(img_crop);
  62. %%
  63.  
  64. %%
  65. [lm,li] = max(img_crop(:,1))
  66. [rm,ri] = max(img_crop(:,W_crop))
  67. shif = ri-li;
  68. rotDeg = atand(shif/W_crop);
  69. if abs(rotDeg) > 1
  70.     img_crop = imrotate(img_crop,rotDeg);
  71. else
  72.     rotDeg = 0;
  73. end
  74. [H,W] = size(img_crop);
  75. %%
  76. figure()
  77. imshow(img_crop);
  78. %%
  79. [row,col] = find(img_crop);
  80. maxRow = max(row);
  81. minRow = min(row);
  82.  
  83. if rotDeg > 0
  84.     % Case this is rotated to left side
  85.     colLeft = find(img_crop(maxRow,:));
  86.     cLeft = max(colLeft);
  87.    
  88.     rowLeft = find(img_crop(:,cLeft));
  89.     rLeft = min(rowLeft);
  90.    
  91.     %[rLeftM,rLeftI] = max(img_crop(:,cLeft));%-30
  92.    
  93.     rLeftI = rLeft-(shif-160); %-60
  94.     %rLeftI = rLeft-min(20,(shif-100)); %-60
  95.     [img_crop,H_crop,W_crop] = crop(img_crop,H,W,cLeft,cLeft,1,rLeftI);
  96. elseif rotDeg < 0
  97.     colRight = find(img_crop(maxRow,:));
  98.     cRight = min(colRight);
  99.     cRight = W-cRight;
  100.     rowRight = find(img_crop(:,cRight));
  101.     rRight = min(rowRight);
  102.     %[rRightM,rRightI] = max(img_crop(:,cRight));%-30
  103.     rRight = rRight+abs(shif); %+40
  104.     [img_crop,H_crop,W_crop] = crop(img_crop,H,W,cRight,cRight,rRight,rRight);
  105. else
  106. end
  107. %rLeft = 144;
  108.  
  109.  
  110. % cRight = cLeft;
  111. % rTop = rLeft;
  112. % rBottom = rTop;
  113.  
  114.  
  115. %cRight = W-cLeft
  116. %%
  117.  
  118. %rRight = H-rLeft
  119.  
  120. %cLeft = 152;
  121. %rLeft = 126;
  122.  
  123.  
  124.  %left right top bot
  125. %colRight = find(img_crop(minRow,:));
  126. %%
  127.  
  128.  
  129. img_filt = imgaussfilt(img_crop,gsigma);
  130. %img_filt = imgaussfilt(img_crop,gsigma);
  131.  
  132. %%
  133.  
  134. %%
  135. diff = 1;
  136. img_diff = filt_diff(img_filt,H_crop,W_crop,diff);
  137. up = H_crop-2;
  138. [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
  139.  
  140. for i = 1:W_crop
  141.   img_crop(1:line1(i),i) = 0;  
  142. end
  143.  
  144. diff = 1;
  145. img_diff = filt_diff(img_filt,H_crop,W_crop,diff);
  146. up = H_crop-2;
  147. [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
  148.  
  149.  
  150.  
  151. % img_med_surf = medfilt1(line1);
  152. % figure()
  153. % imshow(img_crop);
  154. % hold on
  155. % plot(img_med_surf)
  156. % plot(line1)
  157. % hold off
  158.  
  159. %imshow(img_med_surf,[])
  160.  
  161.  
  162. img_line_surf_med = medfilt2(img_crop,[4 4]);
  163.  
  164. figure()
  165. imshow(img_line_surf_med)
  166.  
  167.  
  168. img_diff = filt_diff(img_line_surf_med,H_crop,W_crop,diff);
  169. [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
  170.  
  171. for i = 1:W_crop
  172.   img_line_surf(1:line1(i)-1,i) = 255;  
  173. end
  174.  
  175. img_line_surf = medfilt2(img_line_surf,[5 11]);
  176. %img_line_surf = medfilt2(img_line_surf);
  177.  
  178. figure()
  179. imshow(img_line_surf);
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186. %{
  187.  
  188.  
  189.  
  190.  
  191. %%
  192. % generate horizontal edge emphasis kernel
  193. %h = fspecial('sobel',10);
  194. % invert kernel to detect vertical edges
  195. %h = h';
  196. %h = [-1,0,0,0,1;-1,0,0,0,1;-1,0,0,0,1;-1,0,0,0,1;-1,0,0,0,1;-1,0,0,0,1]
  197. %-2,0,2;-1,0,1];
  198. %img_crop = imfilter(img_crop,h);
  199. %%
  200.  
  201.  
  202.  
  203.  
  204.  
  205. % Project (sum) image vertically to get the horizontal profile.
  206. horizontalProfile = sum(img_crop, 1);
  207. horizontalProfile = horizontalProfile.^3;
  208. plot(horizontalProfile);
  209.  
  210. threshold1 = mean(horizontalProfile)+2.5*std(horizontalProfile);
  211. %threshold = 30e+11;
  212.  
  213. for i = 1:(W_crop-1)
  214.     lineis = (horizontalProfile(i) > threshold1);
  215.     if horizontalProfile(i) > threshold1
  216.         line1(i) = line1(i-5);
  217.     end
  218. end
  219.  
  220.  
  221. figure()
  222. imshow(img_crop,[])
  223. hold on
  224. plot(line1)
  225. hold off
  226.  
  227.  
  228. %sum(horizontalProfile)
  229. %{
  230. figure()
  231. imshow(img_crop,[])
  232. hold on
  233. plot(line1)
  234. hold off
  235. %}
  236.  
  237. %}
  238.  
  239.  
  240. % [Gx, Gy] = imgradientxy(img_crop,'prewitt');
  241. % figure()
  242. % imshowpair(Gx, Gy, 'montage');
  243. %  title('Directional Gradients: x-direction, Gx (left), y-direction, Gy (right), using Prewitt method')
  244. % axis off;
  245. %
  246. % meanGx = mean(mean(abs(Gy)))
  247.  
  248.  
  249. %
  250. % for i = 1:H_crop
  251. %     for j=1:W_crop
  252. %         if Gx(i,j) > mean(Gy)
  253. %             img_crop(i,j) = 0;
  254. %         end
  255. %     end
  256. % end
  257.  
  258.  
  259.  
  260. %}
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269. %{
  270.  
  271.  
  272. %%
  273. %img_crop = double(img_crop);
  274. img_filt = imgaussfilt(img_crop,gsigma);
  275. %%
  276.  
  277. %%
  278. diff = 1;
  279. img_diff = filt_diff(img_filt,H_crop,W_crop,diff);
  280. up = H_crop-2;
  281. [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
  282.  
  283.  
  284.  
  285. for i = 1:W_crop
  286.   img_crop(1:line1(i),i) = 0;  
  287. end
  288.  
  289. img_filt = imgaussfilt(img_crop,gsigma);
  290.  
  291.  
  292. [H,W] = size(img_crop);
  293. diff = 2;
  294. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  295. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  296.  
  297. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  298.  
  299. med = 80;
  300. %img_med = imgaussfilt(img_crop,gsigma);
  301. img_med = padarray(img_filt',med,'replicate','both');
  302. img_med = padarray(img_med',med,'replicate','both');
  303. img_med = medfilt2(img_med,[med*2 med*2]);
  304. img_med = img_med([med+1:H+med],[med+1:W+med]);
  305. img_filt1 = zeros(H+diff,W);
  306. img_filt2 = zeros(H+diff,W);
  307.  
  308. img_filt1([diff+1:H+diff],:) = img_med;
  309. img_filt2([1:H],[1:W]) = img_med;
  310.  
  311. %%
  312. img_med = img_filt1 - img_filt2;
  313. img_med = img_med([diff+1:H+diff],:);
  314. %%
  315.  
  316. %%
  317. % figure();
  318. % imshow(img_med,[]);
  319. [H,W] = size(img_crop);
  320. img_line2 = zeros(H,W);
  321. %diff = 10;
  322. for i = 1:W
  323.     [local_max,local_index] = min(img_med(:,i));
  324.     img_line2(local_index,i) = 255; %+2 %-10    ubrat -diff
  325.     line2(i) = local_index; %brat -diff
  326. end
  327. %%
  328. % figure()
  329. % imshow(img_line2,[])
  330. %%
  331.  
  332. figure(1)
  333. imshow(img_crop,[])
  334. hold on
  335. plot(line1);
  336. plot(line2);
  337. hold off
  338.  
  339.  
  340. %%
  341. figure(2)
  342. imshow(img_crop,[])
  343. hold on
  344. plot(line2);
  345. hold off
  346.  
  347.  
  348.  
  349. %% Roughness
  350.  
  351. [peak_height,valley_depth] = peak_valley(line1,line2,W);
  352. [avg_rough,rms_rough,max_rough,total_rough] = roughness(peak_height,valley_depth);
  353.  
  354.  
  355. %% Visualization
  356.  
  357.  
  358. %}
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406. %someIm = img_crop(maxRow,:);
  407. %[row,col] = find(img_crop());
  408. % ind1 = img_crop(maxRow,1) != 0;
  409. % %ind1 = A(maxRow,:) == 1;
  410. % A1 = img_crop(ind1,:);
  411. %}
  412.  
  413.  
  414. %%
  415. %{
  416. figure()
  417. imshow(img_crop);
  418. figure()
  419. imshow(rotImg);
  420. %{
  421. %img_crop = double(img_crop);
  422. img_filt = imgaussfilt(img_crop,8);
  423. %%
  424. %imshow(img_filt)
  425.  
  426. %%
  427. % %% Wrinkle surface
  428. img_diff = filt_diff(img_filt,H_crop,W_crop,diff);
  429. [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
  430.  
  431. %%
  432. [lm,li] = max(img_crop(:,1))
  433. [rm,ri] = max(img_crop(:,W_crop))
  434.  
  435. rotDeg = atand((ri-li)/W_crop);
  436. rotImg = imrotate(img_crop,rotDeg);
  437. %%
  438.  
  439. %%
  440. %{
  441. figure()
  442. imshow(img_crop);
  443. figure()
  444. imshow(rotImg);
  445. %}
  446. %%
  447.  
  448. l_crop2 = 20;
  449. r_crop2 = 20;
  450. t_crop2 = 200;
  451. b_crop2 = 10;
  452.  
  453. % %% Preprocessing
  454. [img_crop2,H_2,W_2] = crop(rotImg,H_crop,W_crop,l_crop2,r_crop2,t_crop2,b_crop2);
  455.  
  456. %%
  457. figure()
  458. imshow(img_crop2);
  459.  
  460. %%
  461.  
  462.  
  463. %}
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557. %%
  558.  
  559. %figure()
  560. %imshow(img_filt,[]);
  561. %figure();
  562. %imshow(im,[]);
  563.  
  564.  
  565. % figure();
  566. % imshow(img_filt);
  567. % figure()
  568. % plot(I)
  569. % ylim([0 450])
  570.  
  571.  
  572.  
  573. %
  574. % % figure()
  575. % % imshow(img_filt)
  576. %
  577. %
  578. % % for i = 1:W
  579. % %     [M,I] = max(img_filt(:,i));
  580. % % end
  581. % [M,I] = max(img_filt);
  582. % minRow = min(I);
  583. %
  584. % for i = 1:W
  585. %     diffShift(i) = I(i)-minRow;
  586. %     lowLine1(i) = I(i)+100-diffShift(i);
  587. % end
  588. %
  589. %
  590. %
  591. % for i = 1:W
  592. %     img_filt_new([minRow:lowLine1(i)],i) = 255;
  593. %     %new_img_filt(:,:) = img_filt((I(i):I(i)+200),:);
  594. % end
  595. %
  596. % % imshow(img_filt_new);
  597. %
  598. %
  599. % im=zeros(443,970);
  600. % a=200;
  601. % b=100;
  602. % c = 200;
  603. % for i=1:size(im,2)
  604. %     j=443-I(i);
  605. %     im(a+1-c:(a+j-9),i)=img_filt(I(i)-c:(I(i)-10+j),i);
  606. % end
  607. %
  608. % figure();
  609. % imshow(im,[]);
  610. %
  611. % figure();
  612. % imshow(img_filt);
  613. % figure()
  614. % plot(I)
  615. % ylim([0 450])
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627. % im=zeros(1000,970);
  628. % a=100;
  629. % b=100;
  630. % for i=1:size(im,2)
  631. %     j=443-I(i);
  632. %     im(a+1:(a+j-9),i)=img_filt(I(i)-b:(I(i)-10+j-b),i);
  633. % end
  634. % figure();
  635. % imshow(im);
  636. %
  637. % figure();
  638. % imshow(img_filt);
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649. % %% Wrinkle surface
  650. % img_diff = filt_diff(img_filt,H_crop,W_crop,diff);
  651. % [img_line_surf,ind_line_surf,avg_index,ref_line,line1] = line_surf3(img_diff,H_crop,W_crop,diff,up,down);
  652. %
  653. % %%
  654. %
  655. % med = 80;
  656. % img_med = imgaussfilt(img_crop,gsigma);
  657. % img_med = padarray(img_med',med,'replicate','both');
  658. % img_med = padarray(img_med',med,'replicate','both');
  659. % img_med = medfilt2(img_med,[med*2 med*2]);
  660. % img_med = img_med([med+1:H+med],[med+1:W+med]);
  661. % img_filt1 = zeros(H+diff,W);
  662. % img_filt2 = zeros(H+diff,W);
  663. %
  664. % img_filt1([diff+1:H+diff],:) = img_med;
  665. % img_filt2([1:H],[1:W]) = img_med;
  666. %
  667. % img_med = img_filt1 - img_filt2;
  668. % img_med = img_med([diff+1:H+diff],:);
  669. % %%
  670. %
  671. % % figure();
  672. % % imshow(img_med,[]);
  673. %
  674. % img_line2 = zeros(H,W);
  675. % %diff = 10;
  676. % for i = 1:W
  677. %     [local_max,local_index] = max(img_med(:,i));
  678. %     img_line2(local_index-diff,i) = 255; %+2 %-10
  679. %     line2(i) = local_index-diff;
  680. % end
  681. % %%
  682. %
  683. %
  684. % for i = 1: W
  685. %     %if(line2(i)-line1(i) < 0)
  686. %         %img_wrinkle([line2(i):line1(i)],i,1) = 255;
  687. %         %img_wrinkle_only([line2(i):line1(i)],i,1) = 255;
  688. %     depth(i) = diff+line1(i) - line2(i);
  689. %     %end    
  690. % end
  691. %
  692. % maxDepth = max(depth);
  693. % colormap jet
  694. % cm = colormap % returns the current color map
  695. % %cm(1, :) = [1 1 1];
  696. % %colormap(cm)
  697. % %%          
  698. % for i = 1: W
  699. %     normDepth(i) = depth(i)/maxDepth;
  700. %     colorID = max(1, sum(normDepth(i) > [0:1/length(cm(:,1)):1]));
  701. %     myColor = cm(colorID, :); % returns your color
  702. %     depthColor(i,:,:,:) = myColor;
  703. % end    
  704. % img_wrinkle(:,:,1) = zeros(size(img_crop));
  705. % img_wrinkle(:,:,2) = zeros(size(img_crop));
  706. % img_wrinkle(:,:,3) = zeros(size(img_crop));
  707. %
  708. % %img_wrinkle_only = zeros(size(img_crop));
  709. % %%
  710. % for i = 1: W
  711. %     %if(depth(i) > 0)  %(line2(i)-line1(i) < 0)
  712. %         %img_wrinkle([line2(i):line1(i)],i,1) = 255;
  713. %     img_wrinkle([line2(i):line1(i)+diff],i,1) = depthColor(i,1);
  714. %     img_wrinkle([line2(i):line1(i)+diff],i,2) = depthColor(i,2);
  715. %     img_wrinkle([line2(i):line1(i)+diff],i,3) = depthColor(i,3);
  716. %
  717. % end
  718. %
  719. % minLine = min(line2);
  720. %
  721. % for i = 1:W
  722. %     diffShift(i) = line2(i)-minLine;
  723. %     newLine1(i) = line1(i)-diffShift(i);
  724. % end
  725. % maxLine = max(newLine1);
  726. %
  727. % for i = 1: W
  728. %     %if(depth(i) > 0)  %(line2(i)-line1(i) < 0)
  729. %         %img_wrinkle([line2(i):line1(i)],i,1) = 255;
  730. %     img_wrinkle_new([minLine:newLine1(i)+diff],i,1) = depthColor(i,1);
  731. %     img_wrinkle_new([minLine:newLine1(i)+diff],i,2) = depthColor(i,2);
  732. %     img_wrinkle_new([minLine:newLine1(i)+diff],i,3) = depthColor(i,3);
  733. % %     img_wrinkle_new([line2(i):line1(i)+diff],i,2) = depthColor(i,2);
  734. % %     img_wrinkle_new([line2(i):line1(i)+diff],i,3) = depthColor(i,3);
  735. % end
  736. % figure()
  737. % imshow(img_wrinkle_new(minLine:maxLine+diff,:,:,:))
  738. % figure()
  739. % imshow(img_wrinkle)
  740. % hold on
  741. % plot(line2)
  742. % plot(line1+diff)
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754. % [row,col,v] = find(img_filt);
  755.  
  756. %%
  757. % %
  758. % minLine = min(row);
  759. %
  760. % for i = 1:W
  761. %     for j = 1:H
  762. %         diffShift(i,j) = img_filt(:,:)-minLine;
  763. %     end
  764. % end
  765. %
  766. % figure()
  767. % imshow(diffShift)
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779. % for i = 1:W
  780. %     diffShift(i) = line2(i)-minLine;
  781. %     newLine1(i) = line1(i)-diffShift(i);
  782. % end
  783. % maxLine = max(newLine1);
  784. %
  785. % for i = 1: W
  786. %     if(depth(i) > 0)  %(line2(i)-line1(i) < 0)
  787. %         img_wrinkle([line2(i):line1(i)],i,1) = 255;
  788. %     img_wrinkle_new([minLine:newLine1(i)+diff],i,1) = depthColor(i,1);
  789. %     img_wrinkle_new([minLine:newLine1(i)+diff],i,2) = depthColor(i,2);
  790. %     img_wrinkle_new([minLine:newLine1(i)+diff],i,3) = depthColor(i,3);
  791. %     img_wrinkle_new([line2(i):line1(i)+diff],i,2) = depthColor(i,2);
  792. %     img_wrinkle_new([line2(i):line1(i)+diff],i,3) = depthColor(i,3);
  793. % end
  794. % figure()
  795. % imshow(img_wrinkle_new(minLine:maxLine+diff,:,:,:))
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807. % maxLine = max(newLine1);
  808. %
  809. % for i = 1: W
  810. %     %if(depth(i) > 0)  %(line2(i)-line1(i) < 0)
  811. %         %img_wrinkle([line2(i):line1(i)],i,1) = 255;
  812. %     img_wrinkle_new([minLine:newLine1(i)+diff],i,1) = depthColor(i,1);
  813. %     img_wrinkle_new([minLine:newLine1(i)+diff],i,2) = depthColor(i,2);
  814. %     img_wrinkle_new([minLine:newLine1(i)+diff],i,3) = depthColor(i,3);
  815. % %     img_wrinkle_new([line2(i):line1(i)+diff],i,2) = depthColor(i,2);
  816. % %     img_wrinkle_new([line2(i):line1(i)+diff],i,3) = depthColor(i,3);
  817. % end
  818.  
  819.  
  820.  
  821.  
  822.  
  823. %img_wrinkle_new = imcrop(img_wrinkle_new,[60 40 100 90]);
  824. %%
  825. % figure()
  826.  
  827. % hold on
  828. % plot(newLine2)
  829. % plot(mewLine1+diff)
  830. %
  831.  
  832.  
  833. %%
  834.  
  835.  
  836. %% Roughness
  837.  
  838. % [peak_height,valley_depth] = peak_valley(ind_line_surf,avg_index,W_crop);
  839. % [avg_rough,rms_rough,max_rough,total_rough] = roughness(peak_height,valley_depth);
  840. %% Visualization
  841. %% Wrinkle
  842. % r1 = img_crop;
  843. % g1 = r1;
  844. % b1 = r1;
  845. % r1(img_line_surf > 0) = 255;
  846. % g1(ref_line > 0) = 255; %%
  847. % b1(img_line_surf > 0) = 0;
  848. % figure('Name','Wrinkle')
  849. % imshow(cat(3,r1,g1,b1),[]);
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859. % figure();
  860. % imshow(img_med,[]);
  861.  
  862. %diff = 10;
  863. %end
  864.  
  865. %img_wrinkle(:,:,1) = img_crop;
  866. %img_wrinkle(:,:,2) = img_crop;
  867. %img_wrinkle(:,:,3) = img_crop;
  868.  
  869.  
  870. %img_wrinkle([line1(i):H],i,1) = 1;
  871. %img_wrinkle([line1(i):H],i,2) = 1;
  872. %img_wrinkle([line1(i):H],i,3) = 1;
  873.  
  874. % figure()
  875. % imshow(line2)
  876.  
  877. %figure(1)
  878. %imshow(img_line2)
  879. %figure(2)
  880. %imshow(img_line_surf)
  881.  
  882.  
  883. %figure(1)
  884. %imshow(img_line_surf)
  885. %figure(2)
  886. %imshow(img_line2)
  887.  
  888. %img_wrinkle(:,:,1) = img_crop;
  889. %img_wrinkle(:,:,2) = img_crop;
  890. %img_wrinkle(:,:,3) = img_crop;
  891. %img_wrinkle_only = zeros(size(img_crop));
  892. %depth = zeros(W);
  893.  
  894.  
  895. %figure()
  896.  
  897.  
  898. % figure()
  899. % imshow(img_line_surf)
  900. % figure()
  901. % imshow(img_crop)
  902. % hold on;
  903. % plot(line2)
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917. %colormap gray
  918. % for i = 1: Wz
  919. %     %if(line2(i)-line1(i) < 0)
  920. %         %img_wrinkle([line2(i):line1(i)],i,1) = 255;
  921. %     img_wrinkle([line1(i):H],i,1) = 1;
  922. %     img_wrinkle([line1(i):H],i,2) = 1;
  923. %     img_wrinkle([line1(i):H],i,3) = 1;
  924. %     %end    
  925. % end
  926.  
  927. % r1 = img_crop;
  928. % g1 = r1;
  929. % b1 = r1;
  930. % r1(img_line_surf > 0) = 255;
  931. % g1(ref_line > 0) = 255; %%
  932. % b1(img_line_surf > 0) = 0;
  933. % figure('Name','Wrinkle')
  934. % imshow(cat(3,r1,g1,b1),[]);
  935. %f = 0.568; % your float
  936.  
  937. %cm = colormap % returns the current color map
  938.  
  939. %colorID = max(1, sum(f > [0:1/length(cm(:,1)):1]));
  940.  
  941. %myColor = cm(colorID, :) % returns your color
  942.  
  943.  
  944.  
  945. %figure(1)
  946. %imshow(img_wrinkle,[])
  947.  
  948. %figure(4)
  949. %imshow(img_wrinkle_only,[])
  950.  
  951. %}
Add Comment
Please, Sign In to add comment