exponenta event banner

Преобразовать изображение или тип данных

Преобразование между типами данных изменяет интерпретацию данных изображения. Если необходимо правильно интерпретировать результирующий массив как данные изображения, при преобразовании следует изменить масштаб или смещение данных. (Дополнительные сведения о смещениях см. в предыдущих разделах «Типы изображений» и «Индексированные изображения».)

Для некоторых операций рекомендуется преобразовать изображение в изображение другого типа. Например, чтобы отфильтровать цветное изображение, которое хранится как индексированное изображение, сначала преобразуйте его в формат RGB. Чтобы сделать это эффективно, используйте ind2rgb функция. При применении фильтра к RGB-изображению значения интенсивности в изображении фильтруются соответствующим образом. При попытке фильтрации индексированного изображения фильтр применяется к индексам в матрице индексированного изображения, и результаты могут оказаться несущественными.

Можно также выполнить определенные преобразования только с помощью синтаксиса MATLAB ®. Например, для преобразования изображения в оттенках серого в формат RGB необходимо объединить три копии исходной матрицы вдоль третьего размера:

RGB = cat(3,I,I,I);

Полученное изображение RGB имеет идентичные матрицы для красной, зеленой и синей плоскостей, поэтому изображение выглядит как оттенки серого.

Изменить графический формат изображения, возможно, для совместимости с другим программным продуктом, очень просто. Например, чтобы преобразовать изображение из BMP в PNG, загрузите BMP с помощью imread, задайте тип данных как uint8, uint16, или double, а затем сохраните изображение с помощью imwrite, с 'PNG' указан в качестве целевого формата. Посмотрите imread и imwrite для спецификации, какие битовые глубины поддерживаются для различных графических форматов, и для того, как указать тип формата при записи изображения в файл.