Создайте пространственную структуру преобразования (TFORM
)
maketform
не рекомендуется. Использование fitgeotrans
, affine2d
, affine3d
, или projective2d
вместо этого.
создает многомерное пространственное преобразование structureT
= maketform('affine',A
)T
для N-мерного аффинного преобразования. A
несингулярное действительное (N+1) (N+1) или (N+1)-by-N матрица. Если A
(N+1) (N+1), последним столбцом A
должен быть [zeros(N,1);1]
. В противном случае, A
увеличивается автоматически, такой, что его последним столбцом является [zeros(N,1);1]
. Матричный A
задает прямое преобразование, таким образом что tformfwd(U,T)
, где U
вектор 1 на n, возвращает векторный X
1 на n, таким образом, что
X = U * A(1:N,1:N) + A(N+1,1:N)
T
имеет и вперед и обратные преобразования.
Пространственная структура преобразования (названный TFORM
struct), который может использоваться с tformfwd
, tforminv
, fliptform
, imtransform
, или tformarray
функции.
создает T
= maketform('projective',A
)TFORM
struct для N-мерного проективного преобразования. A
несингулярное действительное (N+1) матрицей (N+1). A(N+1,N+1)
не может быть 0. Матричный A
задает прямое преобразование, таким образом что tformfwd(U,T)
, где U
вектор 1 на n, возвращает векторный X
1 на n, таким образом, что
X = W(1:N)/W(N+1)
, где W = [U 1] * A
. Структура преобразования T
имеет и вперед и обратные преобразования.
создает пользовательский T
= maketform('custom',NDIMS_IN,NDIMS_OUT
,FORWARD_FCN,INVERSE_FCN
,TDATA
)TFORM
struct T
на основе обеспеченных пользователями указателей на функцию и параметров. NDIMS_IN
и NDIMS_OUT
количества размерностей ввода и вывода. FORWARD_FCN
и INVERSE_FCN
указатели на функцию должны передать и обратные функции. Прямая функция должна поддержать следующий синтаксис: X = FORWARD_FCN(U,T)
. Обратная функция должна поддержать следующий синтаксис: U = INVERSE_FCN(X,T)
. В этих синтаксисах, U
P
- NDIMS_IN
матрица, строки которой являются точками во входном пространстве преобразования. X
P
- NDIMS_OUT
матрица, строки которой являются точками в преобразовании выходной пробел. TDATA
аргумент может быть любым массивом MATLAB® и обычно используется, чтобы сохранить параметры пользовательского преобразования. Это доступно для FORWARD_FCN
и INVERSE_FCN
через tdata
поле T
. Любой FORWARD_FCN
или INVERSE_FCN
может быть пустым, несмотря на то, что, по крайней мере, INVERSE_FCN
должен быть задан, чтобы использовать T
с tformarray
или imtransform
.
илиT
= maketform('box',tsize
,LOW,HIGH
)
T = maketform('box',INBOUNDS, OUTBOUNDS)
создает N-мерный аффинный TFORM
struct T
. tsize
аргумент является N-вектором положительных целых чисел. LOW
и HIGH
также N-вектора. Преобразование сопоставляет поле ввода, заданное противоположными углами ones(1,N)
и tsize
, или углами INBOUNDS(1,:)
и INBOUND(2,:)
, к окну для вывода, заданному противоположными углами LOW
и HIGH
или OUTBOUNDS(1,:)
и OUTBOUNDS(2,:)
. LOW(K)
и HIGH(K)
должно отличаться если tsize(K)
1, в этом случае аффинный масштабный коэффициент по K-ому измерению принят, чтобы быть 1.0. Точно так же INBOUNDS(1,K)
и INBOUNDS(2,K)
должно отличаться если OUTBOUNDS(1,K)
и OUTBOUNDS(2,K)
то же самое, и с другой стороны. 'box'
TFORM
обычно используется, чтобы указать индексы строки и столбца изображения или массива к некоторой системе мировой координаты.
илиT
= maketform('composite',T1,T2,...,TL
)
T = maketform('composite', [T1 T2 ... TL])
создает TFORM
struct T
чей вперед и обратные функции функциональные составы прямых и обратных функций T1, T2, ..., TL
.
Входные параметры T1, T2, ..., TL
упорядочены, как они были бы при использовании стандартного обозначения для композиции функций: T = T1
T2
...
TL
и обратите внимание также, что состав является ассоциативным, но не коммутативным. Это означает это применять T
к входу U
, нужно применить TL
сначала и T1
в последний раз. Таким образом, если L = 3
, например, затем tformfwd(U,T)
совпадает с tformfwd(tformfwd(tformfwd(U,T3),T2),T1)
. Компоненты T1
через TL
должно быть совместимым в терминах количеств размерностей ввода и вывода. T
имеет заданное прямое, преобразовывают функцию, только если весь компонент преобразовывает, задали, вперед преобразовывают функции. T
имеет заданную обратную функцию преобразования, только если все функции компонента задали инверсию, преобразовывают функции.
Аффинное или проективное преобразование может также быть описано как это уравнение, для 3 2 A
:
[X Y]' = A' * [U V 1] '
Или, как это уравнение, для 3х3 A
:
[X Y 1]' = A' * [U V 1]'
fliptform
| imtransform
| tformarray
| tformfwd
| tforminv