Из документации :
'GrayLimits'
: диапазон, используемый для масштабирования входного изображения до уровней серого, заданных как двухэлементный вектор [low high]
.Если N - это количество уровней серого (см. Параметр 'NumLevels'
), которое нужно использовать для масштабирования, диапазон [low high]
делится на N бинов равной ширины, а значения в бине отображаются на один уровень серого.
'NumLevels'
: количество уровней серого, заданное в виде целого числа.
Таким образом, первый параметр устанавливает используемый диапазон входного уровня серого (по умолчанию минимальное и максимальное значения).значения на изображении), а второй параметр задает количество рассматриваемых уникальных уровней серого (и, следовательно, размер выходной матрицы, по умолчанию 8 или 2 для двоичных изображений).
Например:
>> graycomatrix(img,'NumLevels',8,'GrayLimits',[0,255])
ans =
17687 1587 81 31 7 0 0 0
1498 7347 1566 399 105 8 0 0
62 1690 3891 1546 298 38 1 0
12 335 1645 4388 1320 145 4 0
2 76 305 1349 4894 959 18 0
0 16 40 135 965 7567 415 0
0 0 0 2 15 421 2410 0
0 0 0 0 0 0 0 0
>> graycomatrix(img,'NumLevels',8,'GrayLimits',[0,127])
ans =
1 9 0 0 0 0 0 0
7 17670 1431 156 50 31 23 15
1 1369 3765 970 350 142 84 92
0 128 1037 1575 750 324 169 167
0 46 361 836 1218 747 335 260
0 16 163 330 772 1154 741 547
0 10 74 150 370 787 1353 1208
0 4 67 136 294 539 1247 21199
>> graycomatrix(img,'NumLevels',4,'GrayLimits',[0,255])
ans =
28119 2077 120 0
2099 11470 1801 5
94 1829 14385 433
0 2 436 2410
Как видите, эти параметры изменяют вывод различными способами:
- В первом вышеприведенном случае диапазон [0,255] был сопоставлен со столбцами / строками 1-8.помещая 32 различных значения входного серого в каждый.
- Во втором случае меньший диапазон [0,127] был сопоставлен с 8 индексами, помещая 16 различных значений входного серого в каждый и помещая оставшиеся значения серого 128-255 в твосьмой индекс.
- В третьем случае диапазон [0,255] был сопоставлен с 4 индексами, в каждом из которых по 64 различных входных значения серого.