Matlab: загрузить .tif › преобразовать bmp 256 › преобразовать bmp 24-бит

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

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

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


person user2354586    schedule 06.05.2013    source источник


Ответы (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')
person Amro    schedule 06.05.2013
comment
??? Показатель превышает размеры матрицы. Ошибка в ==> ind2rgb на 27 r = zeros(size(a)); г (:) = см (а, 1); - person user2354586; 07.05.2013
comment
Извините, это сработало, неправильный входной файл. К сожалению, это не работает. Он выполняет преобразование, но не снижает качество изображения, как это делает краска. Поэтому он не приравнивает почти вероятные цвета к 1 цвету. Другим вариантом было бы открыть краску (которая работает) и управлять краской с помощью Matlab. Это возможно? - person user2354586; 07.05.2013
comment
Нашел способ обойти это. Код, который вы дали, является хорошим дополнением к этому, иначе он мог бы не сработать. Я нашел другой способ экспортировать свои файлы в .tif, которые не имеют затенения и поэтому не нуждаются в преобразовании с помощью краски. Спасибо - person user2354586; 07.05.2013
comment
@ user2354586: Я не уверен, что понимаю, в чем проблема, но я рад, что смог помочь. - person Amro; 07.05.2013