2015-04-21 6 views
1

У меня есть индексированное изображение (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 в примере) также получают белый цвет вместо нижнего синего цвета в шкале цветовой шкалы.

Любая идея для этого ...?

Большое спасибо.

+2

вам нужно установить первую запись в вашей цветовой карте на ноль. – Shai

+1

Звучит неплохо, я попробую. – Adiel

+0

@Shai Рассмотрите вопрос об этом. Я поддержу его, если он сработает и будет хорошим. – krisdestruction

ответ

1

Рассмотрите возможность размещения [1, 1, 1] в качестве первой записи вашей цветовой карты, чтобы получить фон как белый.

+0

Привет, Сай, спасибо. Это помогло мне, но также дало мне еще одну проблему ... Вы видели мое редактирование для вопроса? – Adiel

Смежные вопросы