Следующие функции, используемые в комбинации, предоставляют широкий набор опций для определения и работы с пространственными преобразованиями 2-D, N-D и смешанного D:
imtransform, findbounds, и tformarray функции используют tformfwd и tforminv внутренние функции для инкапсуляции прямых преобразований, необходимых для определения степени выходного изображения или массива и/или для отображения местоположений выходных пикселей/массива обратно во входные местоположения. Вы можете использовать tformfwd и tforminv для изучения геометрических эффектов преобразования путем их применения к точкам и линиям и печати результатов. Они поддерживают согласованную обработку как изображений, так и точечных данных.
Вы можете использовать tformarray для работы с преобразованиями массива произвольной размерности. Массивы не должны иметь одинаковые размеры. Выходной сигнал может иметь меньшее или большее количество размеров, чем входной сигнал. Например, при выборке 3-D данных на 2-D срезе или многообразии входной массив может иметь меньшую размерность. Выходная размерность может быть выше, например, если объединить несколько 2-D преобразований в одну 2-D для 3-D операции.
Можно создать структуру повторной выборки с помощью makeresampler функция для получения специальных эффектов или пользовательской обработки. Например, можно указать собственное разделяемое ядро фильтрации/интерполяции, построить пользовательский ресамплер вокруг 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' , чтобы сделать выходное изображение больше, чем входное изображение, и затем указать метод заполнения, который расширяет входное изображение, повторяя пикселы в круговом шаблоне. Демонстрационные материалы «Обработка изображений» Toolbox™ «Преобразование изображений» содержат дополнительные примеры использования imtransform функция и связанные с ней функции для выполнения различных типов пространственных преобразований.