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')