Скачиваний:
5
Добавлен:
02.05.2014
Размер:
36.71 Кб
Скачать

Список функций Image Processing Toolbox. Описание функции MAKETFORM  Семинары   Обучение   Лицензирование   Разработка   Подписка   Форум  Регистрация    Matlab    Toolboxes    Simulink    Blocksets    Femlab    Полезное Вход Обработка сигналов и изображений\Image Processing ToolboxСписок функций Image Processing Toolbox: Геометрические преобразования изображений

  В оглавление \ К следующему разделу \ К предыдущему разделу

MAKETFORM Создание структур геометрических преобразований Синтаксис:

T = maketform(transformtype,...)

Описание:

Функция T = maketform(transformtype,...) создает структуру многомерных пространственных преобразований (так называемую TFORM-структуру), которая используется при реализации функций tformfwd, tforminv, fliptform, imtransform или tformarray.

Функция transformtype может работать с одним из следующих типов пространственных преобразований. Синтаксис этих типов описан в таблице.

Тип преобразований

Описание

'affine'

Аффинные преобразования (двумерные или N-мерные)

'projective'

Проекционные преобразования (двумерные или N-мерные)

'custom'

Преобразования, которые определяются пользователем (двумерные или N-мерные)

'box'

Независимые аффинные преобразования по каждой размерности (масштабирование и сдвиг)

'composite'

Построение нескольких произвольных преобразований

Типы преобразований

Аффинные преобразования

Функция T = maketform('affine',A) создает TFORM-структуру T, которая используется при N-мерных аффинных преобразованиях. A представляет собой невырожденную матрицу с размерностью (N+1)(N+1) или (N+1)N. Когда размерность матрицы A равна (N+1)(N+1), тогда последний столбец равен [zeros(N,1);1]. В другом случае, матрица A автоматически дополняется так, чтобы последний столбец был равен [zeros(N,1);1]. В матрице A определены прямые преобразования, например tformfwd(U,T), где U представлено вектором с размерностью 1N, а X возвращает вектор с размерностью 1N - X=U*A(1:N,1:N)+A(N+1,1:N). Параметр T представляет прямые и инверсные преобразования.

Функция T = maketform('affine',U,X) создает TFORM-структуру T для двумерных аффинных преобразований, которые трансформируют каждую строку U в соответствующую строку X. Каждый из аргументов U и X имеет размерность 32 и определяет углы исходных и результирующих треугольников. Углы не должны быть коллинеарными.

Проекционные преобразования

Функция T = maketform('projective',A) создает TFORM-структуру для N-мерных проекционных преобразований. A представляет собой невырожденную матрицу с размерностью (N+1)(N+1). Значения A(N+1,N+1) равны нулю. В матрице A определены прямые преобразования, например, tformfwd(U,T), где параметр U представлен в виде вектора с размерностью 1N. X определяется как X = W(1:N)/W(N+1), где W=[U 1]*A. Структура преобразований T используется как при прямых, так и при инверсных преобразованиях.

Функция T = maketform('projective',U,X) создает TFORM-структуру T для реализации двумерных проекционных преобразований, которые отображают каждую строку U соответствующей строкой X. Аргументы U и X имеют размерность 42 и определяют исходный и результирующий прямоугольник. Углы не должны быть коллинеарными.

Преобразования, которые определяются пользователем

Функция 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 представляет собой матрицу с размерностью PNDIMS_IN. Строки представляют точки в исходном пространстве преобразований и X представляет собой матрицу с размерностью PNDIMS_OUT, где строки представляют точки в результирующем пространстве преобразований. Аргумент TDATA представляет собой некоторый массив системы MATLAB и используется для хранения параметров преобразований. Для доступа к этому массиву используются функции FORWARD_FCN и INVERSE_FCN в поле "tdata" в T.

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

Функция T = maketform('box',tsize,LOW,HIGH) или T = maketform('box',INBOUNDS, OUTBOUNDS) создает TFORM-структуру T для N-мерных аффинных преобразований. Аргумент tsize представляет собой N-элементный вектор положительных целых чисел. Параметры LOW и HIGH представляют собой также N-элементные векторы. Отображение преобразований производится с использованием параметров INBOUNDS и INBOUND.

Построение нескольких произвольных преобразований

Функция T = maketform('composite',T1,T2,...,TL) или T = maketform('composite', [T1 T2 ... TL]) создает TFORM-структуру T, где прямые и инверсные функции состоят из нескольких функций прямых и инверсных преобразований T1, T2, ..., TL.

Например, когда L = 3, тогда выражение tformfwd(U,T) аналогично tformfwd(tformfwd(tformfwd(U,T3),T2),T1).

Пример 1.

Сконструируем и применим аффинные преобразования.

T = maketform('affine',[.5 0 0; .5 2 0; 0 0 1]); tformfwd([10 20],T) I = imread('cameraman.tif'); figure, imshow(I);   I2 = imtransform(I,T); imshow(I2)   T = maketform('projective',[.5 0 0; .5 1 0; 0 0 1]);

tformfwd([20 10],T)

I2 = imtransform(I,T);

imshow(I2)

Пример 2.

Приведем также другой пример использования функции maketform.

I = checkerboard(20,1,1);

imview(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],[],[]);

imview(J)

Сопутствующие функции: TFORMFWD, TFORMINV, FLIPTFORM, IMTRANSFORM, TFORMARRAY.

  В оглавление \ К следующему разделу \ К предыдущему разделу

  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("") >

Соседние файлы в папке Функции Image Toolbox