MATLAB | Mostrar histograma de una imagen en escala de grises

Un histograma de imagen es una representación gráfica de la distribución de intensidades en una imagen indexada o en escala de grises. Muestra cuántas veces ocurre cada valor de intensidad en la imagen.

Código n.º 1: muestra el histograma de una imagen mediante la función de biblioteca de MATLAB.

% Read an Image in MATLAB Environment
img=imread('apple.jpg');
  
% Convert image to grayscale image
# if read image is an RGB image
img=rgb2gray(img);
  
% Show histogram of image
# using imhist() function
imhist(img);

 
Código n.º 2: muestra el histograma de una imagen sin utilizar la función de biblioteca de MATLAB.

Acercarse :

  • Lea el archivo de imagen de origen en la array de imagen
  • Conviértalo a escala de grises, si es una imagen RGB
  • Iterar sobre la array de imagen y contar la frecuencia de cada valor posible de intensidad
  • trazar la frecuencia contada
% Read source image file 
img = imread('apple.jpg');
  
% Convert image to grayscale image 
img=rgb2gray(img);
  
% get the dimension of the image 
[x, y] = size(img);
  
  
% Create a frequency array of size 256
frequency = 1 : 256;
  
count = 0;
  
% Iterate over grayscale image matrix 
% for every possible intensity value
% and count them
    
for i = 1 : 256
    for j = 1 : x
        for k = 1 : y
  
            % if image pixel value at location (j, k) is i-1
            % then increment count
            if img(j, k) == i-1
                    count = count + 1;
            end
        end
    end
    % update ith position of frequency array with count
    frequency(i) = count;
  
    % reset count
    count = 0;
  
end
  
  
n = 0 : 255;
  
% Display Histogram
stem(n, frequency);
  
grid on;
ylabel('Number of pixels with such intensity levels -->');
xlabel('Intensity Levels  -->');
title('HISTOGRAM OF THE IMAGE');

Aporte:
Input Image

Producción:
Histogram

Publicación traducida automáticamente

Artículo escrito por ihritik y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *