Создайте рандомизированное 2D аффинное преобразование
создает tform
= randomAffine2daffine2d
объект со значениями свойств по умолчанию, сопоставимыми с единичным преобразованием.
задает тип аргументов пары "имя-значение" использования аффинных преобразований.tform
= randomAffine2d(Name,Value
)
Считайте и отобразите изображение.
I = imread('kobi.png');
imshow(I)
Создайте affine2d
объект преобразования, который вращает изображения. randomAffine2d
функционируйте выбирает угол поворота случайным образом от непрерывного равномерного распределения в интервале [35, 55] степени.
tform1 = randomAffine2d('Rotation',[35 55]);
Вращайте изображение и отобразите результат.
J = imwarp(I,tform1); imshow(J)
Объект преобразования, tform1
, вращает все изображения той же суммой. Чтобы вращать изображение различной случайным образом выбранной суммой, создайте новый affine2d
объект преобразования.
tform2 = randomAffine2d('Rotation',[-10 10]);
J2 = imwarp(I,tform2);
imshow(J2)
Считайте и отобразите изображение.
I = imread('sherlock.jpg');
imshow(I)
Создайте affine2d
объект преобразования, который вращает изображения. Чтобы выбрать угол поворота из пользовательской области значений, задайте 'Rotation'
аргумент пары "имя-значение" как указатель на функцию. Этот пример задает функцию под названием myrange
(заданный в конце примера), который выбирает угол из двух непересекающихся интервалов.
tform = randomAffine2d('Rotation',@myrange);
Вращайте изображение и отобразите результат.
J = imwarp(I,tform); imshow(J)
Поддерживание функции
Этот пример задает myrange
функция, которая сначала случайным образом выбирает один из двух интервалов (-10, 10) и (170, 190) с равной вероятностью. В выбранном интервале функция возвращает одно случайное число в равномерное распределение.
function angle = myrange() if randi([0 1],1) a = -10; b = 10; else a = 170; b = 190; end angle = a + (b-a).*rand(1); end
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
tform = randomAffine2d('XReflection',true)
'XReflection'
— Случайное горизонтальное отражениеfalse
(значение по умолчанию) | true
Случайное горизонтальное отражение, заданное как разделенная запятой пара, состоящая из 'XReflection'
и false
или true
. Когда XReflection
true
(1 ), преобразование
tform
отражает изображения вертикально с 50%-й вероятностью. По умолчанию преобразование не отражает изображения в горизонтальном направлении.
'YReflection'
— Случайное вертикальное отражениеfalse
(значение по умолчанию) | true
Случайное вертикальное отражение, заданное как разделенная запятой пара, состоящая из 'YReflection'
и false
или true
. Когда YReflection
true
(1 ), преобразование
tform
отражает изображения вертикально с 50%-й вероятностью. По умолчанию преобразование не отражает изображения в вертикальном направлении.
'Rotation'
— Область значений вращения
(значение по умолчанию) | числовой вектор с 2 элементами | указатель на функциюОбласть значений вращения, в градусах, применилась к входному изображению, заданному как разделенная запятой пара, состоящая из 'Rotation'
и одно из следующих.
Числовой вектор с 2 элементами. Второй элемент должен быть больше, чем или равным первому элементу. Угол поворота выбран случайным образом от непрерывного равномерного распределения в заданном интервале.
указатель на функцию. Функция не должна принять входные параметры и возвратить угол поворота в виде числа. Используйте указатель на функцию, чтобы выбрать углы поворота от непересекающегося интервала или использования неоднородного вероятностного распределения. Для получения дополнительной информации об указателях на функцию, см. Создание указателя на функцию (MATLAB).
По умолчанию, преобразование tform
не вращает изображения.
Пример: [-45 45]
'Scale'
— Область значений универсального масштабирования
(значение по умолчанию) | числовой вектор с 2 элементами | указатель на функциюОбласть значений универсального (изотропного) масштабирования применилась к входному изображению, заданному как разделенная запятой пара, состоящая из 'Scale'
и одно из следующих.
Числовой вектор с 2 элементами. Второй элемент должен быть больше, чем или равным первому элементу. Масштабный коэффициент выбран случайным образом от непрерывного равномерного распределения в заданном интервале.
указатель на функцию. Функция не должна принять входные параметры и возвратить масштабный коэффициент в виде числа. Используйте указатель на функцию, чтобы выбрать масштабные коэффициенты от непересекающегося интервала или использования неоднородного вероятностного распределения. Для получения дополнительной информации об указателях на функцию, см. Создание указателя на функцию (MATLAB).
По умолчанию, преобразование tform
не масштабирует изображения.
Пример: [0.5 4]
'XShear'
— Область значений горизонтального сдвига
(значение по умолчанию) | числовой вектор с 2 элементами | указатель на функциюОбласть значений горизонтального сдвига применилась к входному изображению, заданному как разделенная запятой пара, состоящая из 'XShear'
и одно из следующих. Сдвиг измеряется как угол в градусах и находится в области значений (–90, 90).
Числовой вектор с 2 элементами. Второй элемент должен быть больше, чем или равным первому элементу. Горизонтальный угол сдвига выбран случайным образом от непрерывного равномерного распределения в заданном интервале.
указатель на функцию. Функция не должна принять входные параметры и возвратить горизонтальный угол сдвига в виде числа. Используйте указатель на функцию, чтобы выбрать горизонтальные углы сдвига от непересекающегося интервала или использования неоднородного вероятностного распределения. Для получения дополнительной информации об указателях на функцию, см. Создание указателя на функцию (MATLAB).
По умолчанию, преобразование tform
не сдвигает изображения в горизонтальном направлении.
Пример: [0 45]
'YShear'
— Область значений вертикального сдвига
(значение по умолчанию) | числовой вектор с 2 элементами | указатель на функциюОбласть значений вертикального сдвига применилась к входному изображению, заданному как разделенная запятой пара, состоящая из 'YShear'
и одно из следующих. Сдвиг измеряется как угол в градусах и находится в области значений (–90, 90).
Числовой вектор с 2 элементами. Второй элемент должен быть больше, чем или равным первому элементу. Вертикальный угол сдвига выбран случайным образом от непрерывного равномерного распределения в заданном интервале.
указатель на функцию. Функция не должна принять входные параметры и возвратить вертикальный угол сдвига в виде числа. Используйте указатель на функцию, чтобы выбрать вертикальные углы сдвига от непересекающегося интервала или использования неоднородного вероятностного распределения. Для получения дополнительной информации об указателях на функцию, см. Создание указателя на функцию (MATLAB).
По умолчанию, преобразование tform
не сдвигает изображения в вертикальном направлении.
Пример: [0 45]
'XTranslation'
— Область значений горизонтального перевода
(значение по умолчанию) | числовой вектор с 2 элементами | указатель на функциюОбласть значений горизонтального перевода применилась к входному изображению, заданному как разделенная запятой пара, состоящая из 'XTranslation'
и одно из следующих. Расстояние перевода измеряется в пикселях.
Числовой вектор с 2 элементами. Второй элемент должен быть больше, чем или равным первому элементу. Горизонтальное расстояние перевода выбрано случайным образом от непрерывного равномерного распределения в заданном интервале.
указатель на функцию. Функция не должна принять входные параметры и возвратить горизонтальное расстояние перевода в виде числа. Используйте указатель на функцию, чтобы выбрать горизонтальные расстояния перевода от непересекающегося интервала или использования неоднородного вероятностного распределения. Для получения дополнительной информации об указателях на функцию, см. Создание указателя на функцию (MATLAB).
По умолчанию, преобразование tform
не переводит изображения в горизонтальном направлении.
Пример: [-5 5]
'YTranslation'
— Область значений вертикального перевода
(значение по умолчанию) | числовой вектор с 2 элементами | указатель на функциюОбласть значений вертикального перевода применилась к входному изображению, заданному как разделенная запятой пара, состоящая из 'YTranslation'
и одно из следующих. Расстояние перевода измеряется в пикселях.
Числовой вектор с 2 элементами. Второй элемент должен быть больше, чем или равным первому элементу. Вертикальное расстояние перевода выбрано случайным образом от непрерывного равномерного распределения в заданном интервале.
указатель на функцию. Функция не должна принять входные параметры и возвратить вертикальное расстояние перевода в виде числа. Используйте указатель на функцию, чтобы выбрать вертикальные расстояния перевода от непересекающегося интервала или использования неоднородного вероятностного распределения. Для получения дополнительной информации об указателях на функцию, см. Создание указателя на функцию (MATLAB).
По умолчанию, преобразование tform
не переводит изображения в вертикальном направлении.
Пример: [-5 5]
tform
— Аффинное преобразованиеaffine2d
объектАффинное преобразование, заданное как affine2d
объект.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.