matlab imwrite函数保存图片问题。imwrite(X,map,filename,fmt) 中着重说一下map是什么意思,怎么用?

2024年12月02日 12:52
有2个网友回答
网友(1):

map 是一个列数为3的矩阵,表示颜色表,每行代表一个颜色,每行3个元素代表rgb的亮度
map可以在读取的时候随图像一起读进来
[X,map]=imread('abc.tif');
我不知道你现在有什么要存,不过有问题可以问我。、

网友(2):

参考这个例子吧,都说的听明白的http://baike.baidu.com/view/5781713.htm
% 本例子展示如何将一张真彩色jpg格式图片转换为灰度图像、索引图像、二值图像   imgrgb = imread('flower.jpg');   imwrite(imgrgb, 'flower.bmp', 'bmp'); % jpg格式转换为bmp格式   imggray = rgb2gray(imgrgb);   imwrite(imggray, 'flower_grayscale.bmp', 'bmp'); % 存储为灰度图像   [imgind, map] = rgb2ind(imgrgb, 256); % 转换为256色的索引图像   % 如果转换为65536色图像, imwrite函数无法写入到文件, 这是因为: 65536色的   % 索引图像数据类型是uint16(16-bit), 而imwrite函数的bmp文件格式仅仅支持   % 1-bit, 8-bit, 和 24-bit。png格式支持uint16。   imwrite(imgind, map, 'flower_index.bmp', 'bmp');