我有一张灰度的Matlab图片,我想将其转换为带有自定义颜色映射的RGB图片。我可以用想要的颜色显示图像,但是当我使用imwrite时,该图并没有保存为RGB图像。它只是一个300x1000的数据结构,而不是300x1000x3的数据结构。我应该怎么做来解决这个问题?
m=255;
map = ones(m,3);
strongsignal = [3, 7, 41]./ 255;
DRAQ = [100, 85, 105]./255;
R = linspace(DRAQ(1),strongsignal(1),254);
G = linspace(DRAQ(2),strongsignal(2),254);
B = linspace(DRAQ(3),strongsignal(3),254);
Sample = [R', G', B'];
i = imread('sliceXY045_660.png');
limits = graythresh(i);
i_adjust = im2bw(i,limits);
map(2:255,:)= Sample;
imagesc(i_adjust)
colormap(map)
imwrite(i_adjust,map,'colormap45.png')