How can i calculate the entropy of the region of interest of an RGB image?
3 views (last 30 days)
Show older comments
Sadia Iffat
on 19 Aug 2017
Commented: Sadia Iffat
on 20 Aug 2017
I know how to calculate the entropy of an RGB image.First ,vectorize the image and finally use it as a parameter of the entropy() function.
image_vector = double(original_RGB_image(:));
entropy_of_the_image = entropy(image_vector);
But what should we do to calculate the entropy of the region of interest of image?
I know one approach.Somehow,convert it into a black-white image(white=1) and use the inverse of the black-white image as a parameter of the original RGB image.I think,then the background color will be black .But it doesnot work.The background(sourrounding) became blue(something like that) instead of black? what should i do? Here is my code...
a=imread('ISIC_0000001 w.jpg');
a=imresize(a,[300 300]);
mkr=a;
figure,
imshow(mkr);
im=rgb2gray(a);
level=graythresh(im);
a=im2bw(im,level);
figure,
imshow(a);
mkr(a)=nan;
figure,
imshow(mkr);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/166778/image.jpeg)
0 Comments
Accepted Answer
Image Analyst
on 19 Aug 2017
Edited: Image Analyst
on 19 Aug 2017
You can do this:
entropyWithinMask = entropy(im(a));
You might also want to look at entropyfilt() for a spatial filter based on entropy.
3 Comments
Walter Roberson
on 20 Aug 2017
Edited: Walter Roberson
on 20 Aug 2017
"Entropy is defined as
-sum(p.*log2(p))
where p contains the histogram counts returned from imhist."
This does not imply that an image with more colors has higher entropy: it depends on how the bins are distributed.
More Answers (0)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!