LocalWeightedMeanTransformation2D

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

Описание

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

Создание

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

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

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

Описание

пример

tform = images.geotrans.LocalWeightedMeanTransformation2D(movingPoints,fixedPoints,n) создает LocalWeightedMeanTransformation2D объект задал координаты контрольной точки в movingPoints и fixedPoints, которые задают совпадающие контрольные точки в движущихся и фиксированных изображениях, соответственно. The 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))

Алгоритмы

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

Введенный в R2013b