从灰度图像和自定义颜色映射创建RGB图像

3

我有一张灰度的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')
1个回答

1
cmap = colormap(map);
imwrite(i_adjust,cmap, 'colormap45.png', 'png');

将最后一部分改为这个.. 希望这有所帮助..


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接