Преобразование графического изображения или тип данных

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

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

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

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

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

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

Была ли эта тема полезной?