У меня есть индексированное изображение (2-D, а не rgb), и я использую imagesc
для отображения изображения. Эта функция дает диапазон от синего до красного, который может быть установлен colormap
и может быть просмотрен colorbar
.Фон для проиндексированного изображения
Теперь я хочу изменить фон, обычно 0 или NaN, на белый или черный, но это не повлияет или не изменит диапазон цветовой карты/цветной панели. Я попытался преобразовать все изображение в 3-D rgb, но это предотвратит возможность изменения контраста или clims
, как в imagesc
. Итак, есть ли другой способ сделать это?
EDIT:
@ решение Шая было хорошо, но это вызвало другие проблемно
Когда у меня есть изображение с диапазоном значений, а фон NaN, и отобразить изображение в конкретный контраст (например, на imagesc(img, [-1,1])
), я получаю диапазон цветов от -1 до 1, и я становлюсь белым в фоновом режиме (потому что я положил [1 1 1] в первую запись цветовой карты), но и все значения под минимальным контрастом (т. е. < -1 в примере) также получают белый цвет вместо нижнего синего цвета в шкале цветовой шкалы.
Любая идея для этого ...?
Большое спасибо.
вам нужно установить первую запись в вашей цветовой карте на ноль. – Shai
Звучит неплохо, я попробую. – Adiel
@Shai Рассмотрите вопрос об этом. Я поддержу его, если он сработает и будет хорошим. – krisdestruction