Entropy values of all the bands in a given hyperspectral image.

1 view (last 30 days)
I have a dataset of hyperspectral image (Pavia University). I was trying to calculate the entropy values of all the respective bands in the image. The number of bands the image has is 103. The entropy values I am getting are all zeros. I want to know whether these values are correct or not. If not, then how to calculate?

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 1 Mar 2021
It seems it is not the most robust functionality, If I run the test of entropy from the help of the entropy-function I get rather peculiar results:
I = imread('circuit.tif');
E = entropy(I);
E2 = entropy(histeq(I));
E3 = entropy(double(I));
E4 = entropy(histeq(double(I)));
E5 = entropy(uint8(double(I)));
disp([E E2 E3 E4 E5])
6.9439 5.9354 0 0 6.9439
So maybe you're having a data-type problem - that you might dodge by scaling-n-typecasting to uint8.
("Entropy" - in my humble opinion have gotten far to much mileage out of its name, it's achievements are undeniable in statistical physics, but as a measure of anything sensible in imaging are often unjustified or overblown. Something like the "nobility of statistics" - shown too much reverence)
HTH

More Answers (0)

Community Treasure Hunt

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

Start Hunting!