主要内容

randomAffine2d

创建随机化的二维仿射变换

描述

tform= randomAffine2d创建一个affinetform2d对象,它执行恒等转换。

例子

tform= randomAffine2d (名称,值使用名称-值参数指定仿射转换的类型。

例子

全部折叠

读取并显示图像。

我= imread (“kobi.png”);imshow(我)

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

创建旋转图像的二维仿射变换对象。的randomAffine2d函数从区间[35,55]度的连续均匀分布中随机选取旋转角度。

tform1 = randomAffine2d(Rotation=[35 55]);

旋转图像并显示结果。

J = imwarp(我tform1);imshow (J)

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

转换对象,tform1,以相同的幅度旋转所有图像。要按不同的随机选择量旋转图像,请创建一个新的几何变换。

tform2 = randomAffine2d(Rotation=[-10 10]);J2 = imwarp(我tform2);imshow (J2)

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

读取并显示图像。

我= imread (“sherlock.jpg”);imshow(我)

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

创建旋转图像的二维仿射变换对象。若要从自定义范围中选择旋转角度,请指定旋转名称-值参数作为函数句柄。此示例指定一个函数称为myrange(在示例末尾定义),它从两个不相交的区间内选择一个角度。

tform = randomAffine2d(旋转= @myrange);

旋转图像并显示结果。

J = imwarp(我tform);imshow (J)

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

支持函数

此示例定义myrange函数,首先随机选择两个具有相同概率的区间(- 10,10)和(170,190)中的一个。在选定的区间内,函数从均匀分布中返回一个随机数。

函数角= myrange ()如果Randi ([0 1],1) a = -10;b = 10;其他的一个= 170;b = 190;结束角= a + (b-a).*rand(1);结束

输入参数

全部折叠

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

例子:tform = randomAffine2d (XReflection = true)

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:tform = randomAffine2d(“XReflection”,真的)

随机水平反射,指定为真正的.当XReflection真正的1),转换tform以50%的概率水平反射图像。默认情况下,转换不反射水平方向的图像。

随机垂直反射,指定为真正的.当YReflection真正的1),转换tform以50%的概率垂直反射图像。默认情况下,转换不反射垂直方向的图像。

应用于输入图像的旋转范围(以度为单位),指定为下列之一。

  • 一个2元素的数值向量。第二个元素必须大于或等于第一个元素。旋转角度从指定区间内的连续均匀分布中随机选取。

  • 一个处理函数。函数必须不接受任何输入参数,并将旋转角度作为数值标量返回。使用函数句柄从不相交区间或使用非均匀概率分布选择旋转角度。有关函数句柄的更多信息,请参见创建函数处理

默认情况下,转换tform不旋转图像。

例子:45 [-45]

应用于输入图像的均匀(各向同性)缩放范围,指定为以下之一。

  • 一个2元素的数值向量。第二个元素必须大于或等于第一个元素。尺度因子是从指定区间内的连续均匀分布中随机选取的。

  • 一个处理函数。函数必须不接受任何输入参数,并将比例因子作为数值标量返回。使用函数句柄从不相交区间或使用非均匀概率分布中选取比例因子。有关函数句柄的更多信息,请参见创建函数处理

默认情况下,转换tform不缩放图像。

例子:(0.5 - 4)

应用于输入图像的水平剪切范围,指定为以下之一。剪切是用角度来测量的,范围是(- 90,90)。

  • 一个2元素的数值向量。第二个元素必须大于或等于第一个元素。水平剪切角从规定区间内的连续均匀分布中随机选取。

  • 一个处理函数。该函数必须不接受任何输入参数,并将水平剪切角作为数值标量返回。使用函数句柄从不相交区间或使用非均匀概率分布选取水平剪切角。有关函数句柄的更多信息,请参见创建函数处理

默认情况下,转换tform不剪切图像在水平方向。

例子:45 [0]

应用于输入图像的垂直剪切范围,指定为以下之一。剪切是用角度来测量的,范围是(- 90,90)。

  • 一个2元素的数值向量。第二个元素必须大于或等于第一个元素。竖向剪切角从规定区间内的连续均匀分布中随机选取。

  • 一个处理函数。函数必须不接受任何输入参数,并将垂直剪切角作为数值标量返回。使用函数句柄从不相交区间或使用非均匀概率分布选取垂直剪切角。有关函数句柄的更多信息,请参见创建函数处理

默认情况下,转换tform不剪切图像在垂直方向。

例子:45 [0]

应用于输入图像的水平平移范围,指定为以下之一。翻译距离是以像素为单位的。

  • 一个2元素的数值向量。第二个元素必须大于或等于第一个元素。水平平移距离是从指定区间内的连续均匀分布中随机选取的。

  • 一个处理函数。函数必须不接受任何输入参数,并将水平平移距离作为数值标量返回。使用函数句柄从不相交区间或使用非均匀概率分布选取水平平移距离。有关函数句柄的更多信息,请参见创建函数处理

默认情况下,转换tform不能在水平方向上翻译图像。

例子:5 [5]

应用于输入图像的垂直平移范围,指定为以下之一。翻译距离是以像素为单位的。

  • 一个2元素的数值向量。第二个元素必须大于或等于第一个元素。垂直平移距离从指定区间内的连续均匀分布中随机选取。

  • 一个处理函数。函数必须不接受任何输入参数,并将垂直平移距离作为数值标量返回。使用函数句柄从不相交区间或使用非均匀概率分布选取垂直平移距离。有关函数句柄的更多信息,请参见创建函数处理

默认情况下,转换tform不能在垂直方向上翻译图像。

例子:5 [5]

输出参数

全部折叠

仿射变换,返回为affinetform2d对象。

版本历史

介绍了R2019b

全部展开

Baidu
map