Matlab - 抖动后,RGB图像不能分为R-G-B

时间:2014-08-01 11:30:25

标签: matlab rgb dithering

我是Matlab的新手..

我的图片尺寸为512x512x3 uint8。而且我使用了“dither'功能如下:

[Myimagedither, Myimagedithermap] = rgb2ind(img, 16, 'dither'); 
imwrite(Myimagedither,Myimagedithermap,'step_4_RGB_D_U_16.tiff');

之后,我使用imread来读取这样的图像:

new_img = imread('step_4_RGB_D_U_16.tiff');

但是,之后尺寸只变为512x512 unit8。我需要将该图像划分为R G B.任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您需要单独阅读地图。像这样:

[new_img new_img_map] = imread('step_4_RGB_D_U_16.tiff');

然后使用ind2rgb()将图像转换为rgb,并将颜色通道分成3个单独的图像。像这样:

new_img_RGB = ind2rgb(new_img,new_img_map);
g1_16 = new_img_RGB(:,:,1);
g2_16 = new_img_RGB(:,:,2);
g3_16 = new_img_RGB(:,:,3);