find the histogram of the image(cameraman)without using the matlab built-in functions for histogram calculations.compare your result with the with those obtained using the functions imhist().display the input image,the two histograms-(yours and matla

6 visualizaciones (últimos 30 días)
if true
% code
end

Respuesta aceptada

Marwa Ahmeid
Marwa Ahmeid el 20 de Mzo. de 2017
Editada: Marwa Ahmeid el 20 de Mzo. de 2017
%By Marwa Ahmeid
function [y]=myimhist(img)
[r,c]=size(img);
y=zeros(1,256);
for i=1:r
for j=1:c
z=img(i,j);
y(z+1)=y(z+1)+1;
end
end

Más respuestas (3)

Image Analyst
Image Analyst el 17 de Mzo. de 2017
The code you posted won't do it obviously. You need to use a for loop over all rows and all columns. The gray level will be the index of a "counts" array that you'll build up. Hint:
[rows, columns, numberOfColorChannels] = size(grayImage);
counts = zeros(1, 256);
for col = 1 : columns
for row = 1 : rows
  7 comentarios
Image Analyst
Image Analyst el 9 de Abr. de 2020
Looks like I said to add 1 in the comment but didn't in the code. Thanks for catching that. Here is corrected code:
function [counts, grayLevels] = MyHistogram(grayImage)
[rows, columns, numberOfColorChannels] = size(grayImage);
counts = zeros(1, 256);
for col = 1 : columns
for row = 1 : rows
% Get the gray level.
grayLevel = grayImage(row, col);
% Add 1 because graylevel zero goes into index 1 and so on.
counts(grayLevel+ 1) = counts(grayLevel+1) + 1;
end
end
% Plot the histogram.
grayLevels = 0 : 255;
bar(grayLevels, counts, 'BarWidth', 1, 'FaceColor', 'b');
xlabel('Gray Level', 'FontSize', 20);
ylabel('Pixel Count', 'FontSize', 20);
title('Histogram', 'FontSize', 20);
grid on;
end

Iniciar sesión para comentar.


T G
T G el 11 de Dic. de 2018
Thank u so much Image Analyst for helping..

Ankan Banerjee
Ankan Banerjee el 19 de Sept. de 2021
Can histogram be calculated using find() command?
  1 comentario
Image Analyst
Image Analyst el 19 de Sept. de 2021
Yes, if you used a loop to find all the values that fell in a certain range and then sum them up into the appropriate bin, but why would you want to do it that more complicated way?

Iniciar sesión para comentar.

Categorías

Más información sobre Histograms en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by