Создайте структуру передискретизации
R = makeresampler(interpolant,padmethod)R = makeresampler(Name,Value,...) создает отделимую resampler структуру для использования с R = makeresampler(interpolant,padmethod)tformarray. Аргумент interpolant задает ядро интерполяции, которое использует отделимый resampler. Средства управления аргументом padmethod, как resampler интерполирует или присваивает значения, чтобы вывести элементы, которые сопоставляют близко к или вне ребра входного массива.
создайте resampler структуру, которая использует написанный пользователем resampler, использующий пары значения параметров.R = makeresampler(Name,Value,...)
Считайте изображение в рабочую область и отобразите ее.
A = imread('moon.tif');
imshow(A)
Создайте отделимый resampler.
resamp = makeresampler({'nearest','cubic'},'fill');Создайте пространственную структуру преобразования (TFORM), который задает аффинное преобразование.
stretch = maketform('affine',[1 0; 0 1.3; 0 0]);Примените преобразование, задав пользовательский resampler.
B = imtransform(A,stretch,resamp);
Отобразите преобразованное изображение.
imshow(B)

interpolant Интерполяция ядра'cubic' | 'linear' | 'nearest' | массив ячеекИнтерполируя ядро, заданное как 'nearest', 'linear', 'cubic' или массив ячеек. В следующей таблице перечислены именованный interpolants:
Interpolant | Описание |
|---|---|
| Кубичная интерполяция |
| Линейная интерполяция |
| Самая близкая соседняя интерполяция |
Если вы хотите использовать пользовательское ядро интерполяции, задайте массив ячеек в любой из этих форм:
|
|
|
|
Чтобы задать метод интерполяции независимо по каждому измерению, объедините оба типа interpolant спецификаций. Число элементов в массиве ячеек должно равняться количеству размерностей преобразования. Например, рассмотрите следующий пример значения interpolant:
{'nearest', 'linear', {2 KERNEL_TABLE}}В этом примере интерполяция использования resampler ближайшего соседа вдоль первого преобразовывает размерность, линейную интерполяцию вдоль второго измерения и пользовательскую основанную на таблице интерполяцию вдоль третьего.
Типы данных: char | string | cell
padmethod — Метод раньше присваивал значения, чтобы вывести элементы, которые сопоставляют вне входного массива'bound' | 'circular' | 'replicate' | 'symmetric' | 'fill'Метод раньше присваивал значения, чтобы вывести элементы, которые сопоставляют вне входного массива, заданного как одно из следующих значений.
Заполните метод | Описание |
|---|---|
| Значения присвоений от массива значения заливки до точек, что карта вне входного массива. Повторения ограничивают элементы массива для точек что карта в массиве (то же самое как |
| Массив клавиатур с круговым повторением элементов в размерности. То же самое как |
| Генерирует выходной массив со сглаженно выглядящими ребрами (кроме тех случаев, когда с помощью интерполяции ближайшего соседа). Для выходных точек, которые сопоставляют около ребра входного массива (любая внутренняя или внешняя часть), это комбинирует входное изображение и значения заливки. Когда |
| Массив клавиатур путем повторения элементов границы массива. То же самое как |
| Массив клавиатур с зеркальными отражениями себя. То же самое как |
Для 'fill', 'replicate', 'circular' или 'symmetric', передискретизация, выполняемая tformarray, происходит на двух логических шагах:
Заполните массив, A бесконечно, чтобы заполнить целый вход преобразовывает пробел.
Оцените свертку заполненного A с ядром передискретизации в выходных точках, заданных геометрической картой.
Каждый не преобразовывает размерность, обработан отдельно. Дополнение является виртуальным (выполненный путем переотображения индексов массивов) для эффективности памяти и производительности. Если вы реализуете пользовательский resampler, можно реализовать эти поведения.
Типы данных: char | string
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
resamp = makeresampler('Type','separable','Interpolant','linear','PadMethod','fill');Ввод Тип Resampler'separable' | 'custom'Тип Resampler, заданный как одно из следующих значений.
| Ввод | Описание |
|---|---|
'separable' | Создайте отделимый resampler. Если вы задаете это значение, единственными другими свойствами, которые можно задать, является 'Interpolant' и 'PadMethod'. Результат эквивалентен использованию синтаксиса makeresampler(interpolant,padmethod). |
'custom' | Создайте клиента resampler. Если вы задаете это значение, необходимо задать свойства 'NDims' и 'ResampleFcn' и, опционально, свойство 'CustomData'. |
Типы данных: char | string
'PadMethod' — Метод раньше присваивал значения, чтобы вывести элементы, которые сопоставляют близко к или вне ребра входного массиваСмотрите аргумент padmethod для получения дополнительной информации.
Типы данных: char | string
Interpolant Интерполяция ядраСмотрите аргумент interpolant для получения дополнительной информации.
Типы данных: char | string | cell
ndims Размерность пользовательский resampler может обработатьРазмерность пользовательский resampler может обработать, заданный как положительное целое число. Используйте значение Inf, чтобы указать, что пользовательский resampler может обработать любую размерность. Если 'Type' является 'custom', необходимо задать NDims.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический
'ResampleFcn' — Функция, которая выполняет передискретизациюФункция, которая выполняет передискретизацию, заданную как указатель на функцию. Вы вызываете эту функцию со следующим интерфейсом:
B = resample_fcn(A,M,TDIMS_A,TDIMS_B,FSIZE_A,FSIZE_B,F,R)
Для получения дополнительной информации о входных параметрах к этой функции, смотрите справку для tformarray. Аргумент M является массивом, который сопоставляет пробел индекса преобразования B к пробелу индекса преобразования A. Если A имеет N, преобразовывают размерности, (N = length(TDIMS_A)) и B имеют P, преобразовывают размерности (P = length(TDIMS_B)), то ndims(M) = P + 1, если N > 1 и P если N == 1 и size(M,P + 1) = N.
Первые размерности P M соответствуют выводу, преобразовывают пробел, переставленный согласно порядку, в который вывод преобразовывают размерности, перечислены в TDIMS_B. (В общем TDIMS_A и TDIMS_B не должен быть отсортирован в порядке возрастания, несмотря на то, что некоторый resamplers может наложить такое ограничение.) Таким образом первые элементы P size(M) определяют размеры размерностей преобразования B. Вход преобразовывает координаты, с которыми сопоставлена каждая точка, выстраиваются через итоговую размерность M, выполняя распоряжение, данное в TDIMS_A. M должен быть double. FSIZE_A и FSIZE_B являются полными размерами A и B, дополненного 1 по мере необходимости, чтобы быть сопоставимыми с TDIMS_A, TDIMS_B и size(A).
Типы данных: function_handle
'CustomData' — Пользователь - задает данныеПользовательские данные, заданное использование скаляра строки, вектора символов или числового массива.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string
R ResamplerResampler, возвращенный как структура.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.