Рисунки в этой документации показывают видеопоток и содержимое буфера памяти как последовательность отдельных систем координат. В действительности каждая система координат является многомерным массивом. Для получения дополнительной информации об использовании многомерных массивов смотрите Многомерные массивы. Следующая фигура иллюстрирует формат отдельной системы координат.
Формат отдельной системы координат
Следующие разделы описывают как тулбокс
Этот раздел также описывает несколько способов просмотреть передававшие изображения.
Формат видео, используемый устройством получения изображений, является первичным определителем ширины, высоты и количества полос в каждом фрейме изображения. Устройства получения изображений обычно поддерживают несколько форматов видео. Вы выбираете формат видео, когда вы создаете объект ввода видео (описанный в Определении Формата видео). Объектно-ориентированная память ввода видео формат видео в VideoFormat
свойство.
Объектно-ориентированная память ввода видео разрешение видео в VideoResolution
свойство.
Каждый фрейм изображения является трехмерным; однако, формат видео определяет количество полос в третьей размерности. Для цветных форматов видео, таких как RGB, каждый фрейм изображения имеет три полосы: один каждый для красных, зеленых, и синих данных. Другие форматы видео, такие как полутоновый стандарт RS170, имеют только одну полосу. Объектно-ориентированная память ввода видео размер третьей размерности в NumberOfBands
свойство.
Примечание
Поскольку устройства обычно специальное разрешение видео как ширина высотой, тулбокс использует это соглашение для VideoResolution
свойство. Однако, когда данные принесены в рабочую область MATLAB®, размерности фрейма изображения перечислены в обратном порядке, высота шириной, потому что MATLAB описывает матричные размерности как строку столбцом.
Когда вы задаете видимую область (ROI) в получаемом изображении, размерности ROI определяют размерности возвращенных фреймов изображения. VideoResolution
свойство задает размерности данных изображения, обеспечиваемых устройством; ROIPosition
свойство задает размерности регистрируемых фреймов изображения. Смотрите ROIPosition
страница с описанием свойства для получения дополнительной информации.
Следующий пример иллюстрирует, как формат видео влияет на размер возвращенных фреймов изображения.
Выберите формат видео — Использование imaqhwinfo
функционируйте, чтобы просмотреть список форматов видео, поддержанных вашим устройством получения изображений. Этот пример показывает форматы видео, поддержанные устройством захвата изображения Matrox® Orion. Форматы являются промышленным стандартом, таким как 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
функция, чтобы получить конструктора Object для вашего устройства получения изображений и заменить тем синтаксисом следующий код.
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);
getdata
функция приносит 10 систем координат данных в рабочую область. Обратите внимание на то, что возвращенные данные являются четырехмерным массивом: каждая система координат 3D, и энная система координат обозначается четвертой размерностью.
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
функция, чтобы получить конструктора Object для вашего устройства получения изображений и заменить тем синтаксисом следующий код.
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, чтобы отобразить систему координат. Можно использовать свойства объекта изображения, чтобы управлять аспектами отображения. imagesc
функционируйте автоматически масштабирует входные данные.
Программное обеспечение Image Processing Toolbox™ включает дополнительную стандартную программу отображения под названием imshow
. Как image
и imagesc
, эта функция создает объект изображения MATLAB. Однако imshow
также автоматически устанавливает различные свойства объекта изображения оптимизировать отображение.