Get Haralick Features on masked Image

2 views (last 30 days)
Jason
Jason on 24 Jul 2012
Answered: Antonio Mendes on 30 Aug 2019
I have a grayscale (uint8) image and I want to get the Coocurrence matrix for it but I want graycomatrix to ignore certain pixels (according to a logical mask). I have this code:
if true
% code
gray_im = imread('test.bmp');
mask_im = im2bw(imread('test_mask.bmp'));
I = gray_im;
I(~mask_im) = NaN; %make NaN the pixels that are not inside the mask. Doesn't work for uint8.
[glcm,SI] = graycomatrix(I,'NumLevels',32,'Offset',[-2 2]); %[2 0]
stats =graycoprops(glcm , {'contrast', 'homogeneity', 'energy'} );
end
According to the documentation graycomatrix ignores NaN values but I can't put NaN values in a uint8 matrix (they get converted to zero and aren't ignored). I also tried to convert the image to double first but graycomatrix returned an unexpected result. Thanks in advance.

Answers (1)

Antonio Mendes
Antonio Mendes on 30 Aug 2019
Did you solve it?

Products

Community Treasure Hunt

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

Start Hunting!