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