主要内容

randomWindow2d

在图像中随机选择矩形区域

描述

例子

赢得= randomWindow2d (inputSizetargetSize选择大小相同的矩形区域targetSize从图像大小的随机位置inputSize

例子

赢得= randomWindow2d (inputSize“规模”,规模“DimensionRatio”,dimensionRatio选择一个矩形区域,指定该区域相对于输入图像的大小,规模,为区域的纵横比,dimensionRatio

例子

全部折叠

读取并显示图像。

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

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

指定输入图像的大小和矩形区域的目标大小。

inputSize = size(I);targetSize = [40 60];

从图像中的随机位置选择目标大小的区域。

rect = randomWindow2d(inputSize,targetSize);

从a转换区域矩形对象转换为形式为[的4元素向量。Xmin ymin宽高度]。

rectXYWH = [rect.XLimits(1)]...diff (rect.XLimits) + 1 diff (rect.YLimits) + 1];

显示覆盖在原始图像上的矩形区域的边界。

注释edi = insertShape(I,“矩形”rectXYWH,“线宽”3);imshow (annotatedI)

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

读取并显示图像。

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

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

指定输入图像的大小。

inputSize = size(I);

指定输入图像面积的2%到13%之间的区域的分数区域。指定在1:5到4:3之间的宽高比范围。

规模= [0.02 0.13];dimensionRatio = [1 5;4 3];

从图像中的随机位置指定具有随机选择的分数区域和纵横比的区域。

rect = randomWindow2d(inputSize,“规模”、规模、“DimensionRatio”, dimensionRatio);

将原始图像裁剪到随机选择的区域并显示结果。

Icrop = imcrop(I,rect);imshow (Icrop)

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

输入参数

全部折叠

输入图像大小,指定为下列之一。

输入图像类型 的格式inputSize
二维灰度或二值图像 这种形式的2元正整数向量(高度宽度)
二维RGB或多光谱图像 这种形式的三元素正整数向量[高宽通道]

目标图像大小,指定为下列之一。

目标图像类型 的格式targetSize
二维灰度或二值图像 这种形式的2元正整数向量(高度宽度)
二维RGB或多光谱图像 这种形式的三元素正整数向量[高宽通道]

区域面积作为输入图像面积的一个分数,指定为这些值之一。

  • 值在[0,1]范围内的2元非递减数值向量。元素分别定义区域的最小和最大分数面积。randomWindow2d在范围内选择一个随机值作为分数区域区域。若要使用固定区域,请为两个元素指定相同的值。

  • 函数处理。该函数必须不接受输入参数,并返回范围[0,1]中的一个数字,指定有效的分数区域区域。有关函数句柄的详细信息,请参见创建函数句柄

矩形区域的长宽比范围,指定为这些值之一。

  • 2乘2矩阵的正数。第一行定义最小长宽比,第二行定义最大长宽比。randomWindow2d在范围内选择一个随机值作为纵横比。若要使用固定长宽比,请为第一行和第二行指定相同的值。

  • 函数处理。该函数必须不接受输入参数,并返回一个正数,指定有效的维数比。例如,值1.2指定一个5:4的纵横比。有关函数句柄的详细信息,请参见创建函数句柄

例子:[1 8;1 4]选择范围为1:8到1:4的长宽比

输出参数

全部折叠

矩形窗口,返回为矩形对象。

版本历史

R2021a中引入