Plotting histogram of image data present in a stack

2 次查看(过去 30 天)
Hi All,
I have looked at the examples shown here to underetand how to plot histogram of a single image data. But
it's not clear to me how the data in a stack can be plotted.
For exmaple, I tried
f = "Test_Image.tiff";
img_data = imfinfo(f);
imhist(img_data)
test_image stack.
This returns
double, uint8, int8, logical, uint16, int16, single, uint32, int32
Instead its type was struct.
Any suggestions?

采纳的回答

Ameer Hamza
Ameer Hamza 2020-10-14
iminfo just read the metadata of the image. Use imread() to read the image as matrix
f = "Test_Image.tiff";
img_data = imread(f);
imhist(img_data)
If it is an rgb image, then first convert it to grayscale too
f = "Test_Image.tiff";
img_data = rgb2gray(imread(f));
imhist(img_data)
  6 个评论
Deepa Maheshvare
Deepa Maheshvare 2020-10-14
Thanks a lot. This helps! I would also like to know if it is possible to get the stats like mean, sd, mode, binwidth (I checked that the default bin is 256) , min and max and count?
Ameer Hamza
Ameer Hamza 2020-10-14
By default imhist() uses 256 bins. You can get the counts using output of imhist()
[binCount, binLoc] = imhist(imgs(:));
To get min and max values
mean(imgs(:))
min(imgs(:))
max(imgs(:))

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by