Функции Image Toolbox / tformarray.php
.htmСписок функций Image Processing Toolbox. Описание функции TFORMARRAY Семинары Обучение Лицензирование Разработка Подписка Форум Регистрация Matlab Toolboxes Simulink Blocksets Femlab Полезное Вход Обработка сигналов и изображений\image Processing ToolboxСписок функций Image Processing Toolbox: Геометрические преобразования изображений
В оглавление \ К следующему разделу \ К предыдущему разделу
TFORMARRAY Пространственные преобразования многомерных массивов Синтаксис:
B=tformarray(A, T, R, TDIMS_A, TDIMS_B, TSIZE_B, TMAP_B, F)
Описание:
Функция B=tformarray(A, T, R, TDIMS_A, TDIMS_B, TSIZE_B, TMAP_B, F) применяется для пространственных преобразований массива A в массив B. По своим характеристикам функция tformarray похожа на функцию imtransform и реализует обработку многомерных массивов. В большинстве случаев эта функция используется вместе с такими функциями как maketform, makeresampler, findbounds и tformarray.
В таблице представлено краткое описание всех исходных аргументов.
Аргумент
Описание
A
Исходный массив или изображение
T
Типичная структура пространственных преобразований, обозначаемая TFORM, создается с помощью функции maketform
R
Типичная повторяющаяся структура, которая создается с помощью функции makeresampler
TDIMS_A
Строчный вектор, в котором перечислены исходные данные преобразований
TDIMS_B
Строчный вектор, в котором перечислены результирующие данные преобразований
TMAP_B
Размерность результирующего массива с преобразованными данными
TSIZE_B
Массив точек результирующего пространства, который используется как альтернативный путь описания пространственных преобразований
F
Массив заполненных значений
Данные в A должны быть представлены числовым неразреженным массивом вещественных или комплексных чисел.
Параметр T представляет структуру TFORM, которая определяет особенности пространственных преобразований. Для каждого элемента, который будет подвержен преобразованиям, описаны соответствующие данные для исходного и результирующего пространств. Эти данные будут используются функциями tformarray и tforminv для отображения особенностей пространственных преобразований.
Когда параметр T пустой, тогда функция tformarray работает аналогично функции повторения структуры для вычисления параметра R. Параметр R представляет собой структуру, которая определяет значения интерполяции исходного массива в описанных точках. В большинстве случаев параметр R создается с помощью функции makeresampler, которая позволяет проводить контроль интерполяции вдоль каждой размерности.
Параметры TDIMS_A и TDIMS_B указывают какие размерность исходного и результирующего массива задействованы в пространственных преобразованиях. Каждый элемент должен однозначно определяться и представляться положительным целым числом. Индексы элементов перечислены не в порядке возрастания, а в порядке поступления. Описание, которое точно отображает зависимости при преобразованиях между исходным A и результирующим B массивами, помещено в T. Значение length(TDIMS_A) должно быть равно T.ndims_in, а значение length(TDIMS_B) must - соответственно T.ndims_out.
Например, когда параметр T представляет двумерные преобразования (TDIMS_A=[2 1] и TDIMS_B=[1 2]), тогда размерность вдоль столбца и размерность вдоль строки массива A соответствует первому и второму направлению преобразований в исходном пространстве. Размерность вдоль строки и размерность вдоль столбца соответствует первому и второму направлению преобразований в результирующем пространстве.
Параметр TSIZE_B описывает размеры массива B после проведения преобразований. Отметим, что размеры B вдоль не преобразованных размерностей пропорциональны размерностям A вдоль тех же размерностей. Когда, например, параметр T представляет двумерные преобразования, тогда size(A)=[480 640 3 10], TDIMS_B=[2 1], TSIZE_B=[300 200] и size(B) равно [200 300 3].
Параметр TMAP_B представляет собой массив, в котором содержится альтернативный путь описания размещения элементов при преобразованиях. Параметр TMAP_B может быть использован, например, для вычисления деформации изображений в результирующем пространстве. Когда массив TMAP_B не пустой, тогда его размер определяется по формуле:
[D1 D2 D3 ... DN L]
где N равно length(TDIMS_B). Вектор [D1 D2 ... DN] используется в пространстве TSIZE_B.
Значение L зависит от того, пустой ли массив T. Когда массив T не пустой, тогда L равно T.ndims_out и каждая точка L-измерения в TMAP_B преобразует исходное пространство с использованием T. Когда массив T пустой, тогда L имеет размерность length(TDIMS_A) и каждая точка L-измерения в TMAP_B используется для локализации в исходном пространстве.
Параметр F представляется массивом удвоенной точности, содержащим наполненные значения. Значения массива F могут использоваться в трех ситуациях:
когда повторяющая структура создается с помощью функции makeresampler и опция padmethod установлена как 'fill' или 'bound'.
когда используется повторяющаяся структура и она поддерживает метод наполнения, который определяется опциями 'fill' или 'bound'.
когда отображаются преобразования данных B и A для некоторых точек.
Требования к исходным данным.
Параметр A может быть представлен любым неразреженным числовым массивом действительных или комплексных чисел. Также массив может быть представлен в формате logical.
Пример.
Создадим изображение шахматной доски 22, что эквивалентно квадрату в 20 пикселей. Далее преобразуем это изображение с помощью проекционных преобразований. Для создания повторяющейся структуры используем метод наполнения 'circular'. Пусть размеры результирующего изображения будут 100100.
I=checkerboard(20, 1, 1);
figure; imshow(I)
T=maketform('projective', [1 1; 41 1; 41 41; 1 41],[5 5; 40 5; 35 30; -10 30]); R=makeresampler('cubic', 'circular'); J=tformarray(I, T, R, [1 2], [2 1], [100 100], [], []); figure; imshow(J) Сопутствующие функции: FINDBOUNDS, IMTRANSFORM, MAKERESAMPLER, MAKETFORM.
В оглавление \ К следующему разделу \ К предыдущему разделу
I Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
II Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2004 г.) На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro E-mail: matlab@exponenta.ru Информация на сайте была обновлена 14.05.05 Copyright 2001-2005 SoftLine Co
Наши баннеры hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=58396&im=33&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("") >