Следующие функции, когда используется в комбинации, обеспечивают обширный массив опций для определения и работы с 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
и связанных функций, чтобы выполнить различные типы пространственных преобразований.