0

对于一些编码,我想做以下事情:

  • 读取 .tif 文件
  • 转换为具有 256 种颜色的 .bmp(从绘图中获得,在 matlab 中找不到!)
  • 使用 24 位转换为 .bmp(正常转换为 .bmp 是 24 位,这可行)

问题出在第 2 步之内。我需要这一步,因为它会降低图像质量,从而使部分颜色不那么高级。有了这个,一个部分将具有与它应该相同的值,而不是 4 种类型的深蓝色,你不能用肉眼看到。

发生转换的部分代码:

%Reads image
[XX,map] = imread('Test_Script.tif');

%Convert to 256 bmp?

%Write image first if needed
%imwrite()
%Read new image
%[ZZ,map] = imread()

%Converts to rgb 8-bit
YY=ind2rgb8(XX,map);

%writes image
imwrite(YY, map, 'Test_Script_new.bmp','bmp');

嗯,我想不通,也许你有一个想法?

4

1 回答 1

0

尝试以下操作:

[img,map] = imread('canoe.tif');
rgb = im2uint8(ind2rgb(img,map));

%imshow(img,map)
%imshow(rgb)

imwrite(img, map, '8bpp.bmp', 'bmp')
imwrite(rgb, '24bpp.bmp', 'bmp')
于 2013-05-06T12:44:10.207 回答