Entropy of an image
조회 수: 60(최근 30일)
Hi everyone, I am new to MATLAB and I am trying to calculate and analyze the entropy of a set of images. Sometimes however, I need to crop only a certain area of a picture in order to calculate the entropy of that specific area (see attached file). The question is: does the size of an image bias the entropy value? If yes, is it possible to solve this problem?
thanks in advance
PS: I wanted to calculate the entropy of RGB pictures but I never found the code for that
Madhav Thakker 2020년 8월 21일
Entropy for a grayscale image is calculated as the sum(p.*log2(p)), where p contains the normalized histogram counts returned from imhist. If the resized image does not change the histogram of the original image, there shouldn’t be any change in the entropy value as well.
There is no inbuilt function to calculate entropy of RGB Images. You can refer this answer for some ways to calculate entropy of colored images. https://in.mathworks.com/matlabcentral/answers/261930-how-to-calculate-entropy-of-colored-image
Entropy documentation for better understanding - https://in.mathworks.com/help/images/ref/entropy.html
Hope this helps.
Image Analyst 2021년 7월 25일
@ammu v, to compute the entropy of just a region of interest in an image you first have to define a binary image (mask) that is the region of interest, for example the tumor. Then you can use entropyfilt() on the whole image.
entropyImage = entropyfilt(grayImage);
Then get the mean in the masked region
meanEntropy = mean(entropyImage(mask))