bartek27210

dłoń Bartka Maziarki

May 8th, 2019
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. input = imread('bartek2.jpg');
  2.  
  3. R = double(input(:,:,1));
  4. G = double(input(:,:,2));
  5. B = double(input(:,:,3));
  6.  
  7. R = double(R);
  8. G = double(G);
  9. B = double(B);
  10.  
  11. L = R + G + B;
  12.  
  13. r = R ./ double(L);
  14. g = G ./ double(L);
  15.  
  16. r = uint16(r * 255) + 1;
  17. g = uint16(g * 255) + 1;
  18.  
  19. [height, width] = size(r);
  20.  
  21. h = zeros(256, 256);
  22.  
  23. for j=1 : height
  24. for i=1 : width
  25. wr = r(j,i);
  26. wg = g(j,i);
  27. h(wg, wr) = h(wg,wr)+1;
  28. end
  29. end
  30. figure();
  31. mesh(h);
  32.  
  33. S = 0;
  34. for i = 1: 256
  35. for j = 1 : 256
  36. S = S + h(i,j);
  37. end
  38. end
  39.  
  40. Sr = 0;
  41. Sg = 0;
  42. Srr = 0;
  43. for i = 1: 256
  44. for j = 1 : 256
  45. Sr = Sr + h(i,j) * i;
  46. Sg = Sg + h(i,j) * j;
  47. end
  48. end
  49.  
  50. ur = (1 / S) * Sr;
  51. ug = (1 / S) * Sg;
  52.  
  53. Srr = 0;
  54. Sgg = 0;
  55. Srg = 0;
  56. for i = 1: 256
  57. for j = 1 : 256
  58. Srr = Srr + h(i,j) * (i - ur)^2;
  59. Sgg = Sgg + h(i,j) * (j - ug)^2;
  60. Srg = Srg + h(i,j) * (i - ur)*(j - ug);
  61. end
  62. end
  63.  
  64. urr = (1 / S) * Srr;
  65. ugg = (1 / S) * Sgg;
  66. urg = (1 / S) * Srg;
  67. ugr = urg;
  68.  
  69. % czesc 2
  70.  
  71. input2 = imread('bartek.jpg');
  72.  
  73. R2 = double(input2(:,:,1));
  74. G2 = double(input2(:,:,2));
  75. B2 = double(input2(:,:,3));
  76.  
  77. R2 = double(R2);
  78. G2 = double(G2);
  79. B2 = double(B2);
  80.  
  81. L2 = R2 + G2 + B2;
  82.  
  83. r2 = R2 ./ double(L2);
  84. g2 = G2 ./ double(L2);
  85.  
  86. r2 = uint16(r2 * 255) + 1;
  87. g2 = uint16(g2 * 255) + 1;
  88.  
  89. [height2, width2] = size(r2);
  90.  
  91. h2 = zeros(height2, width2);
  92.  
  93. U = [ur;ug];
  94. C = [urr,urg;urg,ugg];
  95.  
  96. for j=1 : height2
  97. for i=1 : width2
  98. X = [double(r2(j,i));double(g2(j,i))];
  99. G = exp((-1/2)*(X-U)'*inv(C)*(X-U));
  100. h2(j,i) = G;
  101. end
  102. end
  103.  
  104. figure();
  105. imshow(h2);
  106.  
  107. [A,Y]=meshgrid(1:256,1:256);
  108. D=zeros(256,256);
  109. for j=1:256
  110. for i=1:256
  111. n=A(i,j);
  112. f=Y(i,j);
  113. H=[n;f];
  114. Q=exp((-1/2)*(H-U)'*inv(C)*(H-U));
  115. D(j,i)=Q;
  116. end
  117. end
  118. figure();
  119. mesh(D);
  120.  
  121.  
  122. % czesc 3
  123.  
  124. figure();
  125. imshow(im2bw(h2));
Advertisement
Add Comment
Please, Sign In to add comment