Работа с изображениями в MATLAB Graphics

Что такое Image Data?

Основной MATLAB® структура данных является массивом, упорядоченным множеством вещественных или сложных элементов. Массив естественно подходит для представления изображений, вещественных, упорядоченных наборов цветов или данных интенсивности. (Массив подходит для сложных изображений.)

В рабочем пространстве MATLAB большинство изображений представлено в виде двумерных массивов (матриц), в которых каждый элемент матрицы соответствует одному пикселю в отображаемом изображении. Для примера изображение, состоящее из 200 строк и 300 столбцов различных цветных точек, хранится в виде матрицы 200 на 300. Некоторые изображения, такие как RGB, требуют трехмерного массива, где первая плоскость в третьей размерности представляет интенсивность красного пикселя, вторая плоскость представляет интенсивность зеленого пикселя, а третья плоскость представляет интенсивность синего пикселя.

Это соглашение делает работу с изображениями в формате графического файла аналогичной работе с любым другим типом матричных данных. Для примера можно выбрать один пиксель из матрицы изображения с помощью нормальных матричных индексирований:

I(2,15)

Эта команда возвращает значение пикселя в строке 2, столбце 15 изображения I.

В следующих разделах описываются различные типы данных и изображений, а также описываются способы чтения, записи, работы и отображения графических изображений; как изменить свойства отображения и соотношение сторон изображения во время отображения; как напечатать изображение; и как преобразовать тип данных или графический формат изображения.

Типы данных

MATLAB math поддерживает три различных числовых класса для отображения изображений:

  • двойная точность с плавающей точностью (double)

  • 16-битное беззнаковое целое число (uint16)

  • 8-битное беззнаковое целое число (uint8)

Команды отображения изображений интерпретируют значения данных по-разному в зависимости от числового класса, в котором хранятся данные. 8-Bit и 16-Bit Изображения включают подробную информацию о внутренней работе хранилища для 8- и 16-битных изображений.

По умолчанию большинство данных занимают массивы double классов. Данные в этих массивах хранятся как числа с плавающей запятой с двойной точностью (64 бит). Все функции и возможности MATLAB работают с этими массивами.

Для изображений, хранящихся в одном из форматов графических файлов, поддерживаемых функциями MATLAB, однако, это представление данных не всегда идеально. Количество пикселей в таком изображении может быть очень большим; для примера изображение 1000 на 1000 имеет миллион пикселей. Поскольку по меньшей мере один элемент массива представляет каждый пиксель, это изображение требует около 8 мегабайт памяти, если оно сохранено как класс double.

Чтобы уменьшить требования к памяти, можно хранить данные изображений в массивах uint8 классов и uint16. Данные в этих массивах хранятся как 8-битные или 16-битные беззнаковые целые числа. Эти массивы требуют одной восьмой или одной четвертой столько памяти, сколько данных в double массивы.

Битовая глубина

Входные функции MATLAB считывают наиболее часто используемые битовые глубины (биты на пиксель) любого из поддерживаемых форматов графических файлов. Когда данные находятся в памяти, они могут храниться как uint8, uint16, или double. Для получения дополнительной информации о том, какие битовые глубины подходят для каждого поддерживаемого формата, смотрите imread и imwrite.

Поддерживаемые форматы изображений

Команды MATLAB считывают, записывают и отображают несколько типов форматов графических файлов для изображений. Как и в случае с сгенерированными MATLAB изображениями, после отображения изображения в формате графического файла он становится объектом изображения. MATLAB поддерживает следующие форматы графических файлов наряду с другими:

  • BMP (Microsoft® Windows® Растровое изображение)

  • GIF (файлы графического обмена)

  • HDF (иерархический формат данных)

  • JPEG (Формат графических данных JPEG)

  • PCX (Paintbrush)

  • PNG (портативная сетевая графика)

  • TIFF (Теговый формат графических файлов)

  • XWD (X Window Dump)

Для получения дополнительной информации о битовых глубинах и типах изображений, поддерживаемых для этих форматов, см. imread и imwrite.

Для просмотра документации необходимо авторизоваться на сайте