Get Haralick Features on masked Image

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.

Products

Asked:

on 24 Jul 2012

Answered:

on 30 Aug 2019

Community Treasure Hunt

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

Start Hunting!