exponenta event banner

Работа с последовательностями изображений как многомерными массивами

Создание многомерного массива, представляющего последовательность изображений

Многомерные массивы являются удобным способом отображения и обработки последовательностей изображений. Создание многомерного массива путем объединения отдельных изображений последовательностей изображений. Каждое изображение должно иметь одинаковый размер и одинаковое количество цветовых каналов. При сохранении последовательности индексированных изображений каждое изображение должно использовать одну и ту же цветовую карту.

  • Если имеется последовательность изображений 2-D градациях серого, двоичных или индексированных изображений, то для создания 3-D массива размером m-by-n-by-p необходимо объединить изображения в третьем измерении. Каждое из р изображений имеет размер m-by-n.

  • Если имеется последовательность 2-D изображений RGB, то соедините изображения вдоль четвертого измерения, чтобы создать 4-D массив размера m-by-n-by-3-by-p. Каждое из р изображений имеет размер m-by-n-by-3.

На рисунке изображены 2-D изображения, соединенные как плоскости массива 3-D.

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

A = cat(4,A1,A2,A3,A4,A5)

Примечание

Некоторые функции работают с определенным типом многомерного массива, вызывают многокадровый массив. В многокадровом массиве изображения объединяются вдоль четвертого размера независимо от количества цветовых каналов, которые имеют изображения. Многокадровый массив изображений в градациях серого, двоичных или индексированных изображений имеет размер m-by-n-by-1-by-p. Если необходимо преобразовать многокадровый массив изображений в градациях серого в 3-D массив для использования с другими функциями панели инструментов, можно использовать squeeze для удаления одиночного размера.

Отобразить последовательности изображений

Существует несколько способов отображения последовательностей изображений. Чтобы отобразить один кадр за раз, используйте приложение Image Viewer или imshow. Для одновременного отображения всех кадров в последовательности изображений используйте montage функция.

Чтобы анимировать последовательность изображений или обеспечить навигацию в последовательности, используйте приложение Video Viewer (implay). Приложение Video Viewer предоставляет элементы управления воспроизведением, которые можно использовать для перемещения между кадрами в последовательности.

Обработка последовательностей изображений

Многие функции панели инструментов могут работать с многомерными массивами и, следовательно, могут работать с последовательностями изображений. Например, при передаче многомерного массива в imtransform функция применяет одно и то же преобразование 2-D ко всем плоскостям 2-D вдоль более высокого размера.

Однако некоторые функции панели инструментов, которые принимают многомерные массивы, по умолчанию не интерпретируют массив m-by-n-by-p или m-by-n-by-3-by-p как последовательность изображений. Для использования этих функций с последовательностями изображений необходимо использовать определенный синтаксис и учитывать другие ограничения. В таблице перечислены эти функции панели инструментов и приведены рекомендации по их использованию для обработки последовательностей изображений.

Функция

Размеры последовательности изображений

Руководство при использовании с последовательностью изображений

bwlabeln

m-by-n-by-p только

Необходимо использовать bwlabeln(BW,conn) синтаксис с 2-D возможностью подключения.

deconvblind

m-by-n-by-p или
m-by-n-by-3-by-p

PSF аргумент может быть либо 1-D, либо 2-D.

deconvlucy

m-by-n-by-p или
m-by-n-by-3-by-p

PSF аргумент может быть либо 1-D, либо 2-D.

edgetaper

m-by-n-by-p или
m-by-n-by-3-by-p

PSF аргумент может быть либо 1-D, либо 2-D.

entropyfilt

m-by-n-by-p только

nhood аргумент должен быть 2-D.

imabsdiff

m-by-n-by-p или
m-by-n-by-3-by-p

Последовательности изображений должны иметь одинаковый размер.

imadd

m-by-n-by-p или
m-by-n-by-3-by-p

Последовательности изображений должны иметь одинаковый размер. Невозможно добавить скаляр в последовательность изображений.

imbothat

m-by-n-by-p только

SE аргумент должен быть 2-D.

imclose

m-by-n-by-p только

SE аргумент должен быть 2-D.

imdilate

m-by-n-by-p только

SE аргумент должен быть 2-D.

imdivide

m-by-n-by-p или
m-by-n-by-3-by-p

Последовательности изображений должны иметь одинаковый размер.

imerode

m-by-n-by-p только

SE аргумент должен быть 2-D.

imextendedmax

m-by-n-by-p только

Необходимо использовать imextendedmax(I,h,conn) синтаксис с 2-D возможностью подключения.

imextendedmin

m-by-n-by-p только

Необходимо использовать imextendedmin(I,h,conn) синтаксис с 2-D возможностью подключения.

imfilter

m-by-n-by-p или
m-by-n-by-3-by-p

С изображениями в градациях серого, h может быть 2-D. С цветными изображениями (RGB), h может быть 2-D или 3-D.

imhmax

m-by-n-by-p только

Необходимо использовать imhmax(I,h,conn) синтаксис с 2-D возможностью подключения.

imhmin

m-by-n-by-p только

Необходимо использовать imhmin(I,h,conn) синтаксис с 2-D возможностью подключения.

imlincomb

m-by-n-by-p или
m-by-n-by-3-by-p

Последовательности изображений должны иметь одинаковый размер.

immultiply

m-by-n-by-p или
m-by-n-by-3-by-p

Последовательности изображений должны иметь одинаковый размер.

imopen

m-by-n-by-p только

SE аргумент должен быть 2-D.

imregionalmax

m-by-n-by-p только

Необходимо использовать imextendedmax(I,conn) синтаксис с 2-D возможностью подключения.

imregionalmin

m-by-n-by-p только

Необходимо использовать imextendedmin(I,conn) синтаксис с 2-D возможностью подключения.

imsubtract

m-by-n-by-p или
m-by-n-by-3-by-p

Последовательности изображений должны иметь одинаковый размер.

imtophat

m-by-n-by-p только

SE аргумент должен быть 2-D.

imwarp

m-by-n-by-p или
m-by-n-by-3-by-p

TFORM аргумент должен быть 2-D.

padarray

m-by-n-by-p или
m-by-n-by-3-by-p

PADSIZE аргумент должен быть двухэлементным вектором.

rangefilt

m-by-n-by-p только

NHOOD аргумент должен быть 2-D.

stdfilt

m-by-n-by-p только

NHOOD аргумент должен быть 2-D.

tformarray

m-by-n-by-p или
m-by-n-by-3-by-p

  • T должен быть 2-D к 2-D (совместим с imtransform).

  • R должно быть 2-D.

  • TDIMS_A и TDIMS_B должно быть 2-D, то есть[2 1] или [1 2].

  • TSIZE_B должен быть двухэлементным массивом [D1 D2], где D1 и D2 являются первым и вторым измерениями преобразования выходного пространства.

  • TMAP_B должно быть [TSIZE_B 2].

  • F может быть скалярным или массивом p-by-1, для массивов m-by-n-by-p. Или F может быть скалярным массивом 1 на p; массив 3 на 1; или массив 3 на p, для массивов m на n на 3 на p.

watershed

m-by-n-by-p только

Необходимо использовать watershed(I,conn) синтаксис с 2-D возможностью подключения.

Связанные темы