Matlab: Загрузить.tif > конвертировать BMP 256 > конвертировать BMP 24-бит

Для некоторого кодирования я хотел бы сделать следующее:

  • Читать.tif файл
  • Конвертировать в.bmp с 256 цветами (получил это от краски, не могу найти его в matlab!)
  • Преобразование в.bmp с 24-битным (обычное преобразование в.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');

Ну, я не могу понять это, может быть, у вас есть идея?

1 ответ

Попробуйте следующее:

[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')
Другие вопросы по тегам