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

53 visualizzazioni (ultimi 30 giorni)
if true
% code
end

Risposta accettata

Marwa Ahmeid
Marwa Ahmeid il 20 Mar 2017
Modificato: Marwa Ahmeid il 20 Mar 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

Più risposte (3)

Image Analyst
Image Analyst il 17 Mar 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 Commenti
Image Analyst
Image Analyst il 9 Apr 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

Accedi per commentare.


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

Ankan Banerjee
Ankan Banerjee il 19 Set 2021
Can histogram be calculated using find() command?
  1 Commento
Image Analyst
Image Analyst il 19 Set 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?

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by