Advertisement
Hubert_M

Untitled

Jun 22nd, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.15 KB | None | 0 0
  1. S = sum(h(:));
  2. mi_r = 0;
  3. mi_g = 0;
  4. si_rr = 0.0;
  5. si_gg = 0.0;
  6.  
  7. for i = 1:256
  8. for j = 1:256
  9. mi_r = mi_r + h(i,j) * i;
  10. mi_g = mi_g + h(i,j) * j;
  11. end
  12. end
  13. mi_r = mi_r / S;
  14. mi_g = mi_g / S;
  15. rd = double(r);
  16. gd = double(g);
  17. for i = 1:256
  18. for j = 1:256
  19. si_rr = si_rr + h(i,j)*(rd(i,j) - mi_r).^2;
  20. si_gg = si_gg + h(i,j)*(rd(i,j) - mi_g).^2;
  21. end
  22. end
  23. si_gr = 0;
  24. si_rg = 0;
  25. for i = 1:256
  26. for j = 1:256
  27. si_gr = si_gr + h(i,j)*(rd(i,j) - mi_r)*(gd(i,j) - mi_g);
  28. end
  29. end
  30. si_rg = si_gr/S;
  31. si_gr = si_rg;
  32. si = [ rd; gd];
  33. mi = [ mi_r; mi_g];
  34. C = [ si_rr, si_rg; si_gr, si_gg];
  35. G = zeros(256, 256);
  36. for i = 1:256
  37. for j = 1:256
  38. G(i,j) = calculateGauss(rd(i,j), gd(i,j), mi, C);
  39. end
  40. end
  41. drugie = double(imread('reka.jpg'));
  42. R2 = double(drugie(:,:,1));
  43. G2 = double(drugie(:,:,2));
  44. B2 = double(drugie(:,:,3));
  45. L2 = R2 + G2 + B2;
  46. R2 = double(drugie(:,:,1))./double(L2);
  47. G2 = double(drugie(:,:,2))./double(L2);
  48. r2 = uint16(R2 * 255) + 1;
  49. g2 = uint16(G2 * 255) + 1;
  50. [H2, W2] = size(r2);
  51. h2 = zeros(H2, W2);
  52.  
  53.  
  54. for i=1:H2
  55. for j=1:W2
  56. G2 = calculateGauss(double(r2(i,j)), double(g2(i,j)), mi, C);
  57. h2(i,j) = G2;
  58. end
  59. end
  60. figure();
  61. imshow(h2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement