Yo u может применять цветовую карту любого изображения, которое вы хотите, если оно было ранее отображено на фигуре.
Я рекомендую вам использовать imagesc или imshow для отображения изображений. Для этого вам нужно загрузить изображение с imread. Хорошей практикой является преобразование ваших данных изображения в двойную точность.
I = im2double(imread('cameraman.tif'));
Как вы можете видеть, im2double преобразует данные изображения с двойной точностью в диапазоне от 0 до 1 значений величин. Если вы этого не хотите, вы можете использовать функцию double, от 0 до 255.
Позже вам необходимо отобразить изображение на фигуре. Я настоятельно рекомендую использовать imagesc вместо imshow, потому что imagesc позволяет настроить ваши данные и ваш дисплей (например, добавив другую цветовую карту).
figure(1); imagesc(I); daspect([1 1 1]); axis off;
Теперь вы можете использовать требуемую цветокоррекцию. Тип помощи палитры для получения дополнительной информации, но вы можете использовать струйные палитру (по умолчанию), серого, горячих, кости, или все, что вы хотите, просто набрав:
colormap gray;
Если вы построены несколько изображений, необходимо указать прицельное изображение с:
figure(1); colormap gray;
Если вы хотите использовать imshow, просто введите:
figure(1); imshow(I,[]); daspect([1 1 1]); axis off; colormap gray;
Отредактировано: После того, как я увидел изображение, я знал, что Ваша проблема в том, что вы пытаетесь применить цветовую палитру в RGB изображения. То есть вы пытаетесь применить его в 3D-матрице, где строки и столбцы определяют значение пикселя, а третье измерение идентифицирует компоненты RGB.
Итак, вам необходимо преобразовать изображение RGB в 2D-матрицу (черно-белое изображение). Вы можете сделать это, выполнив среднее значение по третьему измерению.
I = nanmean(I,3);
Наконец, вы должны применить палитру цветов, как я уже говорил. Окончательный код будет:
I = im2double(imread('niklas3.jpg'));
I = nanmean(I,3);
figure(1); imshow(I,[]); daspect([1 1 1 ]); axis off;
colormap jet;
Это результат использования струи палитры:
не ясно, ожидаете ли вы поместить в массиве с одноканальным изображением и получить из трех цветных каналов или вы просто хотите визуализировать его с помощью цветовой карты? – Mikhail
Не могли бы вы привести пример, на который вы ссылаетесь? Либо добавив ссылку, либо лучше, включив изображение напрямую. – Cat
Мне нужен эффект colormap с моей фотографией, похожий на то, что происходит с 'I = im2double (imread ('cameraman.tif')); Рисунок 1); imshow (I, []); daspect ([1 1 1]); ось выключена; colormap summer; '. Но цветовой код никогда не работает с моими изображениями. –