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

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

The 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)

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

Похожие темы