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