Advertisement
cherurg

Untitled

Nov 29th, 2014
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.53 KB | None | 0 0
  1. function [Im] = assembly(Gauss, Details, coefs)
  2.  
  3. l = length(Details);
  4. four = Gauss{l};
  5. for i = l:-1:1
  6.     Im = four;
  7.     s1 = size(Im);
  8.     s2 = size(Details{i});
  9.    
  10.     if s1(1) < s2(1)
  11.         Im(s1(1) + 1, :) = mean(Im(:))*ones(1, s1(2));
  12.         s1 = size(Im);
  13.     end
  14.    
  15.     if s1(2) < s2(2)
  16.         Im(:, s1(2) + 1) = mean(Im(:))*ones(s1(1), 1);
  17.     end
  18.    
  19.     Im = Im + Details{i}*coefs(i);
  20.     s = size(Im);
  21.     four = zeros(s*2);
  22.    
  23.     for i = 1:s(1)
  24.         for j = 1:s(2)
  25.             four((2*i - 1):(2*i), (2*j - 1):(2*j)) = Im(i, j)*ones(2);
  26.         end
  27.     end
  28. end
  29. end
  30.  
  31.  
  32. function [Gauss, Details] = gauss(Im, steps)
  33.     small = Im;
  34.     m = mean(Im(:));
  35.     for step = 1:steps
  36.         P = small;
  37.  
  38.         s = size(P);  
  39.  
  40.         G = m*ones(s);
  41.         D = m*ones(s);
  42.         small = zeros(s/2);
  43.  
  44.         for i = 2:2:s(1)
  45.             for j = 2:2:s(2)
  46.                 frame = P((i-1):i, (j-1):j);
  47.                 av = mean(frame(:));
  48.                 G((i-1):i, (j-1):j) = av*ones(2);
  49.                 D((i-1):i, (j-1):j) = frame - av*ones(2);
  50.                 small(i/2, j/2) = av;
  51.             end
  52.         end
  53.        
  54.         if rem(s(1), 2) == 1
  55.             G(s(1), :) = min(G(:))*ones(1, s(2));
  56.             D(s(1), :) = zeros(1, s(2));
  57.         end
  58.         if rem(s(2), 2) == 1
  59.             G(:, s(2)) = min(G(:))*ones(s(1), 1);
  60.             D(:, s(2)) = zeros(s(1), 1);
  61.         end
  62.        
  63.         Gauss{step} = G - max(G(:));
  64.         Details{step} = D - max(D(:));
  65.     end
  66. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement