2015-10-24 7 views
0

Я работаю со спутниковыми изображениями на Matlab и пишу код для расчета Net Radiation. Вывод содержит изображение в виде матрицы с значениями NaN. Когда я пытаюсь построить его с помощью:Назначить различный цвет значениям NaN в изображениях Matlab

figure 
imshow(X); 

он присваивает NaN значения те же цвета, как 0. Есть ли способ, что я могу присвоить эти значения быть разным цветом?

Кроме того, я хочу сохранить свою матрицу как изображение, но в формате, который не изменяет его значения ... возможно, ASCII. Есть ли инструмент для преобразования матрицы в ASCII?

+0

Можете ли вы опубликовать ссылку на пример изображения - спутниковые изображения бывают разных типов и типов. Кроме того, что вы имеете в виду, чтобы сохранить матрицу как изображение без изменения значений - в чем причина этого, и не можете ли вы просто сохранить файл мата? – eyalsoreq

+0

На первую часть вашего вопроса ответил на http://stackoverflow.com/questions/8481324/contrasting-color-for-nans-in-imagesc – Will

ответ

0

Если ваша матрица X является двумерной матрицей со значениями от 0 до 1 и значениями NaN, вы можете использовать следующую команду для изменения значений NaN до, например, 0,88.

X(isnan(X))=0.88; 

, но если матрица X является 3D (для RGB), ответ несколько отличается, и это решение не работает.