Создать структуру пространственного преобразования (TFORM)
maketform не рекомендуется. Использовать fitgeotrans, affine2d, affine3d, или projective2d вместо этого.
создает многомерную структуру пространственного преобразованияT = maketform('affine',A)T для N-мерного аффинного преобразования. A является неингулярной вещественной (N + 1) -by- (N + 1) или (N + 1) -by-N матрицей. ЕслиA является (N + 1) -by- (N + 1), последним столбцомA должно быть [zeros(N,1);1]. В противном случае A увеличивается автоматически, так что его последний столбец [zeros(N,1);1]. Матрица A определяет прямое преобразование таким образом, что tformfwd(U,T), где U является вектором 1-by-N, возвращает вектор 1-by-N X, такой, что 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 структура для N-мерного проективного преобразования. A является неингулярной вещественной (N + 1) -by- (N + 1) матрицей.A(N+1,N+1) не может быть 0. Матрица A определяет прямое преобразование таким образом, что tformfwd(U,T), где U является вектором 1-by-N, возвращает вектор 1-by-N X, такой, что 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 структура 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 структура 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 структура 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