MATLAB: How can i calculate the entropy of the region of interest of an RGB image

entropyimage processingImage Processing Toolbox

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);

Best Answer

You can do this:
entropyWithinMask = entropy(im(a));
You might also want to look at entropyfilt() for a spatial filter based on entropy.
Related Question