Рисунки в этой документации показывают видеопоток и содержимое буфера памяти как последовательность отдельных систем координат. В действительности каждая система координат является многомерным массивом. Дополнительные сведения об использовании многомерных массивов см. в разделе Многомерные массивы. Следующий рисунок иллюстрирует формат отдельной системы координат.
Формат отдельной системы координат
В следующих разделах описывается, как тулбокс
Этот раздел также описывает несколько способов просмотра полученных данных изображения.
Формат видео, используемый устройством сбора изображений, является основным определяющим ширины, высоты и количества полос в каждой системе координат изображения. Устройства для сбора изображений обычно поддерживают несколько видео форматов. Формат видео выбирается при создании объекта входа видео (см. раздел «Определение формата видео»). Объект входа видео хранит формат видео в VideoFormat
свойство.
Объект входа видео сохраняет разрешение видео в VideoResolution
свойство.
Каждая система координат изображения является трехмерным; однако формат видео определяет количество полос в третьей размерности. Для цветных видео форматов, таких как RGB, каждая система координат изображения имеет три полосы: по одной для красных, зеленых и синих данных. Другие форматы видео, такие как стандарт RS170 полутонового цвета, имеют только одну полосу. Объект входа видео хранит размер третьей размерности в NumberOfBands
свойство.
Примечание
Поскольку устройства обычно выражают разрешение видео как ширину по высоте, тулбокс использует это соглашение для VideoResolution
свойство. Однако, когда данные вносятся в MATLAB® рабочая область, размеры системы координат изображения перечислены в обратном порядке, высота за шириной, потому что MATLAB выражает размерности матрицы как строки за столбцом.
Когда вы задаете видимую область (ROI) в захватываемом изображении, размерности информация только для чтения определяют размерности возвращаемых систем координат изображения. The VideoResolution
свойство задает размерности данных изображения, предоставляемых устройством; а ROIPosition
свойство задает размерности систем координат изображений. Смотрите ROIPosition
страница с описанием свойств для получения дополнительной информации.
Следующий пример иллюстрирует, как формат видео влияет на размер возвращаемых систем координат изображения.
Выберите формат видео - Используйте imaqhwinfo
функция для просмотра списка видео форматов, поддерживаемых вашим устройством для сбора изображений. В этом примере показаны форматы видео, поддерживаемые Matrox® Захват системы координат Ориона. Форматы являются промышленными стандартами, такими как RS170, NTSC и PAL. Эти стандарты определяют разрешение изображения.
info = imaqhwinfo('matrox'); info.DeviceInfo.SupportedFormats ans = Columns 1 through 4 'M_RS170' 'M_RS170_VIA_RGB' 'M_CCIR' 'M_CCIR_VIA_RGB' Columns 5 through 8 'M_NTSC' 'M_NTSC_RGB' 'M_NTSC_YC' 'M_PAL' Columns 9 through 10 'M_PAL_RGB' 'M_PAL_YC'
Создайте объект сбора изображений - Этот пример создает объект входа видео для устройства сбора изображений Matrox с использованием формата видео по умолчанию, RS170. Чтобы запустить этот пример в своей системе, используйте imaqhwinfo
функция, чтобы получить конструктор объектов для устройства сбора изображений и заменить этот синтаксис следующим кодом.
vid = videoinput('matrox',1);
Просмотр видео формата и свойств разрешения видео - тулбокс создает объект с форматом видео по умолчанию. Этот формат определяет разрешение видео.
vid.VideoFormat ans = M_RS170 vid.VideoResolution ans = [640 480]
Принесите одну систему координат в рабочую область - Вызовите getsnapshot
функция для ввода системы координат в рабочую область.
frame = getsnapshot(vid);
Размерности возвращенных данных отражают разрешение изображения и значение NumberOfBands
свойство.
vid.NumberOfBands ans = 1 size(frame) ans = 480 640
Запустите объект сбора изображений - Вызовите start
функция для запуска объекта сбора изображений.
start(vid)
Объект выполняет немедленный триггер и начинает получение систем координат данных.
Принесите несколько системы координат в рабочую область - Вызовите getdata
функция для переноса нескольких систем координат изображений в рабочее пространство MATLAB.
data = getdata(vid,10);
The getdata
функция вносит 10 системы координат данных в рабочую область. Обратите внимание, что возвращенные данные являются четырехмерным массивом: каждая система координат является трехмерным, а n-й система координат обозначается четвертой размерностью.
size(data) ans = 480 640 1 10
Очистка - Всегда удаляйте объекты сбора изображений из памяти, и переменные, которые ссылаются на них, когда они вам больше не нужны.
delete(vid) clear vid
По умолчанию тулбокс возвращает системы координат изображения в типе данных, используемом устройством сбора изображений. Если нет типа данных MATLAB, соответствующего собственному типу данных объекта, getdata
выбирает тип данных MATLAB, который сохраняет числовую точность. Для примера в формате RGB 555 каждый цветовой компонент выражается в 5 битах. getdata
возвращает каждый цвет как uint8
значение.
Можно задать нужный тип данных getdata
для использования в возвращенных данных. Для примера можно задать, что getdata
возвращает системы координат изображения как массив double
классов. Чтобы просмотреть список всех поддерживаемых типов данных, смотрите
getdata
страница с описанием.
Следующий пример иллюстрирует тип данных возвращенных данных изображения.
Создайте объект сбора изображений - Этот пример создает объект входа видео для устройства сбора изображений Matrox. Чтобы запустить этот пример в своей системе, используйте imaqhwinfo
функция, чтобы получить конструктор объектов для устройства сбора изображений и заменить этот синтаксис следующим кодом.
vid = videoinput('matrox',1);
Принесите одну систему координат в рабочую область - Вызовите getsnapshot
функция для ввода системы координат в рабочую область.
frame = getsnapshot(vid);
Просмотр класса возвращенных данных - Использование class
функция для определения типа данных, используемых для возвращенных данных изображения.
class(frame) ans = uint8
Очистка - Всегда удаляйте объекты сбора изображений из памяти, и переменные, которые ссылаются на них, когда они вам больше не нужны.
delete(vid) clear vid
После переноса данных в рабочее пространство MATLAB можно просмотреть их так же, как любое другое изображение в MATLAB.
Программное обеспечение Image Acquisition Toolbox™ включает функцию imaqmontage
, который можно использовать, чтобы просмотреть все системы координат мультикадрового массива изображений в одном объекте изображения MATLAB. imaqmontage
строит системы координат так, чтобы они примерно образовали квадрат. imaqmontage
может быть полезным для визуального сравнения нескольких систем координат.
MATLAB включает две функции, image
и imagesc
, которые отображают изображения в окне рисунка. Обе функции создают объект изображения MATLAB для отображения системы координат. Можно использовать свойства объекта изображения для управления аспектами отображения. The imagesc
функция автоматически масштабирует входные данные.
Программное обеспечение Image Processing Toolbox™ включает дополнительную стандартную программу отображения, называемую imshow
. Как image
и imagesc
эта функция создает объект изображения MATLAB. Однако imshow
также автоматически устанавливает различные свойства объекта изображения для оптимизации отображения.