Если я правильно понимаю вашу проблему, то, возможно, вы можете просто установить пиксели за пределами интересующей вас области на NaN - эти пиксели игнорируются MATLAB при расчете GLCM.
Например:
>> im = eye(7)
im =
1 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1
>> graycomatrix(im)
ans =
30 0 0 0 0 0 0 6
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0
>> im([1:10,13:16,21:24,28:29,34:37,41:49]) = NaN % Remove pixels outside ROI
im =
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN 0 NaN NaN
NaN NaN 1 NaN 0 0 NaN
NaN 0 0 1 0 0 NaN
NaN 0 0 0 1 0 NaN
NaN NaN 0 0 NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
>> warning('off', 'Images:graycomatrix:scaledImageContainsNan')
>> graycomatrix(im)
ans =
6 0 0 0 0 0 0 2
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
>> warning('on', 'Images:graycomatrix:scaledImageContainsNan')
Это делает то, что вам нужно?