24小时热门版块排行榜    

查看: 2072  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wangfumin

金虫 (小有名气)

[求助] MATLAB生成BMP格式的图片默认就是索引图像吗?已有2人参与

我用MATLAB生成的BMP图片,矩阵是在0-1之间的double型的481*641的矩阵,为什么imwrite(I,'I.BMP','BMP')后得到图像是8位索引图像,而imwrite(I,'I.jpeg','jpeg','bitdepth',12)得到的是12位的灰度图像?我想得到24位的真彩图像(bmp的),要怎么弄呢?帮帮忙,谢谢大家。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangfumin

金虫 (小有名气)

引用回帖:
6楼: Originally posted by gorgan at 2014-02-19 13:40:25
如果将灰度图转换成rgb真彩色,可以参考如下代码:
=size(I);
rgb=zeros(m,n,3);
rgb(:,:,1)=I;
rgb(:,:,2)=rgb(:,:,1);
rgb(:,:,3)=rgb(:,:,1);
J=rgb/255;

我明白你的意思,只不过我是要生成24位的真彩图,因为我要保证精度以便后续处理。

[ 发自小木虫客户端 ]
7楼2014-02-19 15:56:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

chenyf_sh

铜虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
多用用F1帮助,看看函数说明就行。
关于bmp:只支持1-bit, 8-bit, and 24-bit uncompressed images
关于jpg:只支持8-bit, 12-bit, and 16-bit Baseline JPEG images
关于pgn:这个符合你的需求:1-bit, 2-bit, 4-bit, 8-bit, and 16-bit grayscale images; 8-bit and 16-bit grayscale images with alpha channels; 1-bit, 2-bit, 4-bit, and 8-bit indexed images; 24-bit and 48-bit truecolor images; 24-bit and 48-bit truecolor images with alpha channels
关于0-1转换0-255:If the input array is of class double, and the image is a grayscale or RGB color image, imwrite assumes the dynamic range is [0,1] and automatically scales the data by 255 before writing it to the file as 8-bit values.
Never give up
3楼2014-02-19 09:15:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gorgan

木虫之王 (文学泰斗)

无意苦争春

【答案】应助回帖

感谢参与,应助指数 +1
用rgb2gray和gray2rgb相互转化
例如
把I变成得到24位的真彩图像:
J=gray2rgb(I);
无我相,无人相,无众生相,无寿者相
5楼2014-02-19 13:34:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gorgan

木虫之王 (文学泰斗)

无意苦争春

【答案】应助回帖

如果将灰度图转换成rgb真彩色,可以参考如下代码:
[m n]=size(I);
rgb=zeros(m,n,3);
rgb(:,:,1)=I;
rgb(:,:,2)=rgb(:,:,1);
rgb(:,:,3)=rgb(:,:,1);
J=rgb/255;
无我相,无人相,无众生相,无寿者相
6楼2014-02-19 13:40:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见