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

9 views (last 30 days)
if true
% code
end

Accepted Answer

Marwa Ahmeid
Marwa Ahmeid on 20 Mar 2017
Edited: Marwa Ahmeid on 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

More Answers (3)

Image Analyst
Image Analyst on 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 Comments
Image Analyst
Image Analyst on 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

Sign in to comment.


T G
T G on 11 Dec 2018
Thank u so much Image Analyst for helping..

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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!