По умолчанию длина цветной карты составляет 64 значения.
Вы можете использовать a=colormap(gray(256));
или лучше использовать: a=gray(256);
для 256 значений.
В целом colormap
теперь имеет специальную обработку для уровней серого.
colormap
- это вид «Look Up Table», который отображает «индекс» в триплет RGB (триплетное значение шкалы серого означает R = G = B).
256 значений достаточно для всех возможных уровней серого, но для покрытия всех уровней RGB (при условии байта на цветной канал) вам нужно: 256^3 = 16777216 значений.
Значения по умолчанию 64 применяют 64 образца из 256 уровней серого (между выборками имеются «промежутки» квантования).
Примеры:
gray(2)
Результат: 2 уровней серого (0 и 1):
0 0 0
(черный)
1 1 1
(белый)
gray(4)
Результат: 4 уровней серого:
0 0 0
(черный)
0.3333 0.3333 0.3333
(темный серый)
0.6667 0.6667 0.6667
(светло-серый)
1.0000 1.0000 1.0000
(белый)
Как вы можете видеть, минимум 0, максимум 1, и уровни между ними являются 1/3 и 2/3.
Одинаковый принцип для gray(64)
...