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

Что такое данные изображения?

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

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

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

I(2,15)

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

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

Типы данных

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

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

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

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

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

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

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

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

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

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

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

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

  • BMP (Microsoft® Windows® Bitmap)

  • GIF (графика обменивается файлами),

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

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

  • PCX (Кисть)

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

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

  • XWD (дамп X-окна)

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