Advertisement
Guest User

Untitled

a guest
Feb 24th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. function [] = Quantization(input_image, level_numbers, noise_before_processing)
  2. input_image_double = double(input_image); % исходное изображение
  3. [w, h] = size(input_image);
  4.  
  5. for level_number = level_numbers
  6. q = 256 / level_number; % новый дискрет квантования
  7. noise = q * (rand(w, h) - 0.5); % массив шума
  8.  
  9. if (noise_before_processing)
  10. input_image_double = input_image_double + noise;
  11. end
  12.  
  13. output_image = zeros(w, h);
  14. indices = false(w, h);
  15. threshold = q/2;
  16.  
  17. for level = 1:level_number - 1
  18. indices = (threshold <= input_image_double);
  19. output_image(indices) = round(level * q);
  20. threshold = threshold + q;
  21. end
  22.  
  23. if (~noise_before_processing)
  24. output_image = output_image + noise;
  25. end
  26.  
  27. figure;
  28. imshow(uint8(output_image));
  29. title(sprintf('Quantized image, L = %d', level_number));
  30. end
  31. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement