主要内容

randomAffine2d

创建随机2-D仿射变换

描述

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

例子

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

例子

全部折叠

读取并显示图像。

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

图中包含一个轴对象。axis对象包含一个image类型的对象。

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

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

旋转图像并显示结果。

J = (I,tform1);imshow (J)

图中包含一个轴对象。axis对象包含一个image类型的对象。

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

tform2 = randomAffine2d(旋转=[-10 10]);J2 = imwarp(I,tform2);imshow (J2)

图中包含一个轴对象。axis对象包含一个image类型的对象。

读取并显示图像。

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

图中包含一个轴对象。axis对象包含一个image类型的对象。

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

tform = randomAffine2d(旋转=@myrange);

旋转图像并显示结果。

J = imwarp(I,tform);imshow (J)

图中包含一个轴对象。axis对象包含一个image类型的对象。

金宝app支持函数

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

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

输入参数

全部折叠

名称-值参数

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

例子:tform = randomAffine2d(XReflection=true)

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:tform = randomAffine2d("XReflection",true)

随机水平反射,指定为真正的.当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引入

全部展开