N-мерные пространственные преобразования

Следующие функции, когда используется в комбинации, обеспечивают обширный массив опций для определения и работы с 2D, N-D и смешанными-D пространственными преобразованиями:

imtransform, findbounds и функции tformarray используют tformfwd, и функции tforminv внутренне, чтобы инкапсулировать прямые преобразования должны были определить степень выходного изображения или массива и/или сопоставлять выходные местоположения пикселей/массива назад, чтобы ввести местоположения. Можно использовать tformfwd и tforminv, чтобы исследовать геометрические эффекты преобразования путем применения их к точкам и строкам и графического вывода результатов. Они поддерживают сопоставимую обработку и изображения и мудрых точкой данных.

Можно использовать tformarray, чтобы работать с произвольно-размерными преобразованиями массивов. Массивы не должны иметь тех же размерностей. Вывод может иметь или более низкое или более высокое количество размерностей, чем вход. Например, если вы выбираете 3-D данные по 2D срезу или коллектору, входной массив может иметь более низкую размерность. Выходная размерность может быть выше, например, если вы комбинируете несколько 2D преобразований в сингл, 2D к 3-D операции.

Можно создать структуру передискретизации с помощью функции makeresampler, чтобы получить специальные эффекты или пользовательскую обработку. Например, вы могли задать свое собственное отделимое ядро фильтрации/интерполяции, создать пользовательский resampler вокруг MATLAB® interp2 или функций interp3, или даже реализовать усовершенствованный метод сглаживания.

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

I = checkerboard(20,1,1);
figure; imshow(I)
T = maketform('projective',[1 1; 41 1; 41 41;   1 41],...
              [5 5; 40 5; 35 30; -10 30]);
R = makeresampler('cubic','circular');
K = imtransform(I,T,R,'Size',[100 100],'XYScale',1);
figure, imshow(K)

Опции функции imtransform позволяют вам управлять многими аспектами преобразования. Например, отметьте, как преобразованное изображение, кажется, содержит несколько копий оригинального изображения. Это выполняется при помощи опции 'Size', чтобы сделать выходное изображение больше, чем входное изображение и затем определение дополнительного метода, который расширяет входное изображение путем повторения пикселей в круговом шаблоне. Демонстрации Преобразования изображений Image Processing Toolbox™ обеспечивают больше примеров использования функции imtransform и связанных функций, чтобы выполнить различные типы пространственных преобразований.

Похожие темы