randomAffine3d

Создайте рандомизированное 3-D аффинное преобразование

Описание

tform = randomAffine3d создает affine3d объект со значениями свойств по умолчанию, сопоставимыми с преобразованием тождествами.

пример

tform = randomAffine3d(Name,Value) задает тип аффинных преобразований, используя аргументы пары "имя-значение".

Примеры

свернуть все

Создайте образец объема.

volumeCube = ones(100,100,100);
figure
volshow(volumeCube);

Создайте affine3d объект преобразования, который сдвигает 3-D объема. The randomAffine3d функция выбирает величину сдвига случайным образом из непрерывного равномерного распределения в интервале [40, 60] степеней. randomAffine3d выбирает случайное направление сдвига, выровненное по осям x -, y - или z.

tform1 = randomAffine3d('Shear',[40 60]);
J1 = imwarp(volumeCube,tform1);
figure
volshow(J1);

Чтобы сдвинуть объем на другую случайным образом выбранную величину, создайте новую affine3d объект преобразования. Обратите внимание на различие в направлении сдвига.

tform2 = randomAffine3d('Shear',[40 60]);
J2 = imwarp(volumeCube,tform2);
figure
volshow(J2);

Входные параметры

свернуть все

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: tform = randomAffine3d('XReflection',true)

Случайное горизонтальное отражение, заданное как разделенная разделенными запятой парами, состоящая из 'XReflection' и false или true. Когда XReflection является true (1), преобразование tform отражает изображения горизонтально с вероятностью 50%. По умолчанию преобразование не отражает изображения в горизонтальном направлении.

Случайное вертикальное отражение, заданное как разделенная разделенными запятой парами, состоящая из 'YReflection' и false или true. Когда YReflection является true (1), преобразование tform отражает изображения вертикально с вероятностью 50%. По умолчанию преобразование не отражает изображения в вертикальном направлении.

Случайное отражение вдоль направления глубины, заданное как разделенная разделенными запятой парами, состоящая из 'ZReflection' и false или true. Когда ZReflection является true (1), преобразование tform отражает изображения по направлению глубины с вероятностью 50%. По умолчанию преобразование не отражает изображения в направлении глубины.

Область значений вращения, приложенная к входу изображению, задается как разделенная запятой пара, состоящая из 'Rotation' и одно из следующих. Вращение измеряется в степенях.

  • 2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. randomAffine3d выбирает угол поворота случайным образом из непрерывного равномерного распределения в пределах заданного интервала. randomAffine3d выбирает случайную ось поворота из сферы единичного радиуса.

  • указатель на функцию формы

    [rotationAxis,theta] = selectRotation
    Функция selectRotation не должен принимать никаких входных параметров. Функция должна вернуть два выходных аргументов: rotationAxisвектор с 3 элементами, определяющий ось вращения и theta, угол поворота в степенях.

    Используйте указатель на функцию, чтобы выбрать углы поворота из несвязанного интервала или используя неоднородное распределение вероятностей. Можно также использовать указатель на функцию, чтобы задать ось поворота. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».

По умолчанию преобразование tform не вращает изображения.

Пример: [-45 45]

Область значений равномерного (изотропного) масштабирования, приложенная к входу изображению, заданная как разделенная запятой пара, состоящая из 'Scale' и одно из следующих.

  • 2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Коэффициент шкалы выбирается случайным образом из непрерывного равномерного распределения в пределах заданного интервала.

  • указатель на функцию. Функция не должна принимать входные параметры и возвращать коэффициент шкалы как числовой скаляр. Используйте указатель на функцию, чтобы выбрать масштабные коэффициенты из неоднородного интервала или с помощью неоднородного распределения вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».

По умолчанию преобразование tform не масштабирует изображения.

Пример: [0.5 4]

Область значений сдвига, приложенного к входу изображению, задается как разделенная запятой пара, состоящая из 'Shear' и одно из следующих. Сдвиг измеряется как угол в степенях и находится в области значений (-90, 90).

  • 2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Угол сдвига выбирается случайным образом из непрерывного равномерного распределения в пределах заданного интервала. randomAffine3d применяет срез с равномерной случайностью к одному из основных x -, y - и z - направлениям относительно одного из двух возможных ортогональных направлений.

  • указатель на функцию. Функция должна принять никакие входные параметры и вернуть угол сдвига как числовой скаляр. Используйте указатель на функцию, чтобы выбрать угол сдвига из несвязанного интервала или используя неоднородное распределение вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».

По умолчанию преобразование tform не сдвигает изображения в горизонтальном направлении.

Пример: [0 45]

Область значений горизонтального перевода, применяемая к входу изображению, задается как разделенная запятой пара, состоящая из 'XTranslation' и одно из следующих. Расстояние перемещения измеряется в пикселях.

  • 2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Расстояние преобразования выбирается случайным образом из непрерывного равномерного распределения в пределах заданного интервала.

  • указатель на функцию. Функция не должна принимать входные параметры и возвращать расстояние преобразования как числовой скаляр. Используйте указатель на функцию, чтобы выбрать расстояние преобразования от неоднородного интервала или используя неоднородное распределение вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».

По умолчанию преобразование tform не перемещает изображения в горизонтальном направлении.

Пример: [-5 5]

Область значений вертикального перемещения, применяемая к входу изображению, задается как разделенная запятой пара, состоящая из 'YTranslation' и одно из следующих. Расстояние перемещения измеряется в пикселях.

  • 2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Расстояние преобразования выбирается случайным образом из непрерывного равномерного распределения в пределах заданного интервала.

  • указатель на функцию. Функция не должна принимать входные параметры и возвращать расстояние преобразования как числовой скаляр. Используйте указатель на функцию, чтобы выбрать расстояние преобразования от неоднородного интервала или используя неоднородное распределение вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».

По умолчанию преобразование tform не перемещает изображения в вертикальном направлении.

Пример: [-5 5]

Область значений перемещения по направлению глубины, приложенному к входу изображению, заданная как разделенная запятой пара, состоящая из 'ZTranslation' и одно из следующих. Расстояние перемещения измеряется в пикселях.

  • 2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Расстояние преобразования выбирается случайным образом из непрерывного равномерного распределения в пределах заданного интервала.

  • указатель на функцию. Функция не должна принимать входные параметры и возвращать расстояние преобразования как числовой скаляр. Используйте указатель на функцию, чтобы выбрать расстояние преобразования от неоднородного интервала или используя неоднородное распределение вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».

По умолчанию преобразование tform не перемещает изображения в направлении глубины.

Пример: [-5 5]

Выходные аргументы

свернуть все

Аффинное преобразование, заданное как affine3d объект.

Введенный в R2019b