Нужно объяснение для фрагмента кода Matlab - PullRequest
0 голосов
/ 08 апреля 2010
%# load a grayscale image
img = imread('coins.png');

%# display the image
figure
imshow(img,[]);

%# false-color
colormap('hot')

Код выше отсюда:

Обработка инфракрасного изображения в Matlab

Но я не понимаю, как figure (какая разница с / без него?) И colormap (как это влияет на уже показанный img?) Работают?

1 Ответ

1 голос
/ 08 апреля 2010

figure не требуется, imshow просто отображает img на нем. Если бы figure не был открыт, imshow создал бы новый.

colormap окрашивает интенсивность изображения. hot отображает значения цветов в возрастающей интенсивности с черным, красным, желтым и раскаленным белым цветом. Другая популярная цветовая карта - jet, которая имеет ряд интересных цветов.

Ложные цвета

Таким образом, матрица, которую вы хотите видеть, имеет интенсивности, которые могут иметь любой диапазон значений. Для лучшей визуализации интенсивности отображаются в диапазоне цветов или набора ложных цветов . Как правило, изображение в оттенках серого будет отображать изображение в оттенках серого, где максимальный белый, а минимальный черный. Ложный цвет является продолжением этой концепции с несколькими цветами между ними (например, jet) и эффектом нагрева металла в hot.

Цветовая карта на уровне пикселей

Предположим, у вас есть матрица со значениями пикселей в диапазоне от [cmin xmax]. Теперь нормализуйте значения так, чтобы диапазон был [0,1]. Кроме того, предположим, что у вас есть цветовая карта, такая, что диапазон цветов отображается на некоторые значения от 0 до 1 (например, 0,5 отображается на RGB (100 200 100)) - тогда вы получите отображение ложного цвета, найдя ближайшую интенсивность в карта и отображать соответствующий цвет.

Подробнее о цветовой карте в документации MATLAB . Я включил картинку по этой ссылке здесь:

Jet

альтернативный текст http://www.mathworks.com/access/helpdesk/help/techdoc/ref/graphics_c15.gif

Bone

альтернативный текст http://www.mathworks.com/access/helpdesk/help/techdoc/ref/bone_spine.gif

...