randomAffine3d

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

Описание

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

пример

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

Примеры

свернуть все

Создайте демонстрационный объем.

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

Создайте affine3d объект преобразования, который сдвигает 3-D объемы. 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, угол поворота в градусах.

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

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

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

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

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

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

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

Пример: [0.5 4]

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

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

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

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

Пример: [0 45]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

Введенный в R2019b