Создайте рандомизированное 2-D аффинное преобразование
задает тип аффинных преобразований, используя аргументы пары "имя-значение".tform
= randomAffine2d(Name,Value
)
Чтение и отображение изображения.
I = imread('kobi.png');
imshow(I)
Создайте affine2d
объект преобразования, который вращает изображения. The 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'
- Область значений вращения[0 0]
(по умолчанию) | 2-элементный числовой вектор | указатель на функциюОбласть значений вращения, в степени, применяемая к входу изображению, заданная как разделенная запятой пара, состоящая из 'Rotation'
и одно из следующих.
2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Угол поворота выбирается случайным образом из непрерывного равномерного распределения в пределах заданного интервала.
указатель на функцию. Функция не должна принимать входные параметры и возвращать угол поворота как числовой скаляр. Используйте указатель на функцию, чтобы выбрать углы поворота из несвязанного интервала или используя неоднородное распределение вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».
По умолчанию преобразование tform
не вращает изображения.
Пример: [-45 45]
'Scale'
- Область значений равномерного масштабирования[1 1]
(по умолчанию) | 2-элементный числовой вектор | указатель на функциюОбласть значений равномерного (изотропного) масштабирования, приложенная к входу изображению, заданная как разделенная запятой пара, состоящая из 'Scale'
и одно из следующих.
2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Коэффициент шкалы выбирается случайным образом из непрерывного равномерного распределения в пределах заданного интервала.
указатель на функцию. Функция не должна принимать входные параметры и возвращать коэффициент шкалы как числовой скаляр. Используйте указатель на функцию, чтобы выбрать масштабные коэффициенты из неоднородного интервала или с помощью неоднородного распределения вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».
По умолчанию преобразование tform
не масштабирует изображения.
Пример: [0.5 4]
'XShear'
- Область значений сдвига по горизонтали[0 0]
(по умолчанию) | 2-элементный числовой вектор | указатель на функциюОбласть значений горизонтального сдвига, приложенная к входу изображению, заданная как разделенная запятой пара, состоящая из 'XShear'
и одно из следующих. Сдвиг измеряется как угол в степенях и находится в области значений (-90, 90).
2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Горизонтальный угол сдвига выбирается случайным образом из непрерывного равномерного распределения в заданном интервале.
указатель на функцию. Функция не должна принимать входные параметры и возвращать горизонтальный угол сдвига как числовой скаляр. Используйте указатель на функцию, чтобы выбрать горизонтальные углы сдвига из несвязанного интервала или используя неоднородное распределение вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».
По умолчанию преобразование tform
не сдвигает изображения в горизонтальном направлении.
Пример: [0 45]
'YShear'
- Область значений сдвига по вертикали[0 0]
(по умолчанию) | 2-элементный числовой вектор | указатель на функциюОбласть значений вертикального сдвига, приложенная к входу изображению, указывается как разделенная запятой пара, состоящая из 'YShear'
и одно из следующих. Сдвиг измеряется как угол в степенях и находится в области значений (-90, 90).
2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Вертикальный угол сдвига выбирается случайным образом из непрерывного равномерного распределения в заданном интервале.
указатель на функцию. Функция не должна принимать входные параметры и возвращать вертикальный угол сдвига как числовой скаляр. Используйте указатель на функцию, чтобы выбрать вертикальные углы сдвига из неоднородного интервала или используя неоднородное распределение вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».
По умолчанию преобразование tform
не сдвигает изображения в вертикальном направлении.
Пример: [0 45]
'XTranslation'
- Область значений горизонтального перемещения[0 0]
(по умолчанию) | 2-элементный числовой вектор | указатель на функциюОбласть значений горизонтального перевода, применяемая к входу изображению, задается как разделенная запятой пара, состоящая из 'XTranslation'
и одно из следующих. Расстояние перемещения измеряется в пикселях.
2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Расстояние горизонтального перемещения выбирается случайным образом из непрерывного равномерного распределения в пределах заданного интервала.
указатель на функцию. Функция не должна принимать входные параметры и возвращать горизонтальное расстояние преобразования как числовой скаляр. Используйте указатель на функцию, чтобы выбрать горизонтальные расстояния преобразования от несвязанного интервала или используя неоднородное распределение вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».
По умолчанию преобразование tform
не перемещает изображения в горизонтальном направлении.
Пример: [-5 5]
'YTranslation'
- Область значений вертикальных перемещений[0 0]
(по умолчанию) | 2-элементный числовой вектор | указатель на функциюОбласть значений вертикального перемещения, применяемая к входу изображению, задается как разделенная запятой пара, состоящая из 'YTranslation'
и одно из следующих. Расстояние перемещения измеряется в пикселях.
2-элементный числовой вектор. Второй элемент должен быть больше или равен первому элементу. Расстояние вертикального перемещения выбирается случайным образом из непрерывного равномерного распределения в пределах заданного интервала.
указатель на функцию. Функция не должна принимать входные параметры и возвращать вертикальное расстояние преобразования как числовой скаляр. Используйте указатель на функцию, чтобы выбрать вертикальные расстояния от несвязанного интервала или используя неоднородное распределение вероятностей. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».
По умолчанию преобразование tform
не перемещает изображения в вертикальном направлении.
Пример: [-5 5]
tform
- Аффинное преобразованиеaffine2d
объектАффинное преобразование, заданное как affine2d
объект.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.