exponenta event banner

LocalWeightedMeanTransformation2D

2-D локальное средневзвешенное геометрическое преобразование

Описание

A LocalWeightedMeanTransformation2D объект инкапсулирует 2-D локальное средневзвешенное геометрическое преобразование.

Создание

Можно создать LocalWeightedMeanTransformation2D объект с использованием следующих методов:

  • fitgeotrans функция, которая оценивает геометрическое преобразование, отображающее пары управляющих точек между двумя изображениями.

  • images.geotrans.LocalWeightedMeanTransformation2D описан здесь. Эта функция создает LocalWeightedMeanTransformation2D объект с использованием координат фиксированных и движущихся точек и заданного количества точек для использования при вычислении локального средневзвешенного значения.

Описание

пример

tform = images.geotrans.LocalWeightedMeanTransformation2D(movingPoints,fixedPoints,n) создает LocalWeightedMeanTransformation2D заданный объект координаты контрольной точки в movingPoints и fixedPoints, которые определяют согласованные контрольные точки на движущихся и фиксированных изображениях соответственно. n ближайшие точки используются для вывода полиномиального преобразования второй степени для каждой пары управляющих точек.

Входные аргументы

развернуть все

x - и y-координаты контрольных точек в движущемся изображении, заданные в виде матрицы m-by-2. Количество контрольных точек m должно быть больше или равно n.

Типы данных: double | single

x - и y-координаты контрольных точек на фиксированном изображении, заданные в виде матрицы m-by-2. Количество контрольных точек m должно быть больше или равно n.

Типы данных: double | single

Количество точек для использования при вычислении локального средневзвешенного значения, определяемого как числовое значение. n может быть меньше 6, но делать n небольшие риски, порождающие неусловные полиномы

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32

Свойства

развернуть все

Размерность геометрического преобразования для входных и выходных точек, заданная как значение 2.

Функции объекта

outputLimitsНайти выходные пространственные пределы, заданные входными пространственными пределами
transformPointsInverseПрименение обратного геометрического преобразования

Примеры

свернуть все

Поместите локальное взвешенное среднее преобразование в набор фиксированных и движущихся управляющих точек, которые фактически связаны глобальным многочленом второй степени по всей плоскости.

Настройка переменных.

x = [10, 12, 17, 14, 7, 10];
y = [8, 2, 6, 10, 20, 4];
 
a = [1 2 3 4 5 6];
b = [2.3 3 4 5 6 7.5];
 
u = a(1) + a(2).*x + a(3).*y + a(4) .*x.*y + a(5).*x.^2 + a(6).*y.^2;
v = b(1) + b(2).*x + b(3).*y + b(4) .*x.*y + b(5).*x.^2 + b(6).*y.^2;
 
movingPoints = [u',v'];
fixedPoints = [x',y'];

Подгонка локального взвешенного среднего преобразования к точкам.

tformLocalWeightedMean = images.geotrans.LocalWeightedMeanTransformation2D(movingPoints,fixedPoints,6);

Проверьте соответствие LocalWeightedMeanTransformation2D объект в контрольных точках.

movingPointsComputed = transformPointsInverse(tformLocalWeightedMean,fixedPoints);
 
errorInFit = hypot(movingPointsComputed(:,1)-movingPoints(:,1),...
                       movingPointsComputed(:,2)-movingPoints(:,2))

Алгоритмы

Локальное взвешенное среднее преобразование выводит полином в каждой контрольной точке с использованием соседних управляющих точек. Отображение в любом месте зависит от средневзвешенного значения этих многочленов. n ближайшие точки используются для вывода полиномиального преобразования второй степени для каждой пары управляющих точек. n может быть меньше 6, но делая его маленьким рискует генерировать плохо обусловленные полиномы.

Представлен в R2013b