Преобразование между типами данных изменяет интерпретацию данных изображения. Если вы хотите, чтобы полученный массив был правильно интерпретирован как данные изображения, пересчитайте или смещите данные при преобразовании. (Для получения дополнительной информации о смещениях см. более ранние разделы «Типы изображений и индексированные изображения».)
Для некоторых операций полезно преобразовать изображение в другой тип изображения. Например, чтобы фильтровать цветное изображение, которое хранится в виде индексированного изображения, сначала преобразуйте его в формат RGB. Чтобы сделать это эффективно, используйте ind2rgb
функция. Когда вы применяете фильтр к изображению RGB, значения интенсивности в изображении фильтруются, как это уместно. Если вы пытаетесь фильтровать индексированное изображение, фильтр применяется к индексам в индексированной матрице изображений, и результаты могут не быть значимыми.
Вы также можете выполнить определенные преобразования только с помощью MATLAB® синтаксис. Например, чтобы преобразовать полутоновое изображение в RGB, объедините три копии исходной матрицы по третьей размерности:
RGB = cat(3,I,I,I);
Получившееся изображение RGB имеет идентичные матрицы для красной, зеленой и синей плоскостей, поэтому изображение выглядит как оттенки серого цвета.
Изменение графического формата изображения, возможно, для совместимости с другим программным продуктом, очень просто. Для примера, чтобы преобразовать изображение из BMP в PNG, загрузите BMP с помощью imread
, установите тип данных равным uint8
, uint16
, или double
, а затем сохраните изображение с помощью imwrite
, с 'PNG'
задается как целевой формат. Посмотрите imread
и imwrite
для спецификы того, какие битовые глубины поддерживаются для различных графических форматов, и для того, как задать тип формата при записи изображения в файл.