主要内容

在几何变换输出中指定填充值

这个例子展示了如何指定填充值imwarp当它进行几何变换时。当您执行转换时,输出图像中通常有不是原始输入图像一部分的像素。这些像素必须被赋值,称为a填值.默认情况下,imwarp设置这些像素为零,它们显示为黑色。使用FillValues参数时,可以指定不同的颜色。如果被转换的图像是灰度图像,请指定指定灰度阴影的标量值。如果被转换的图像是RGB图像,则可以使用标量值或1 × 3向量。如果你指定一个标量,imwarp在RGB图像的每个平面上使用这种灰度。如果你指定一个1 × 3的向量,imwarp将值解释为RGB颜色值。

将图像读取到工作区。这个例子使用了一个彩色图像。

rgb = imread (“onion.png”);

创建变换矩阵。这个矩阵定义了一个平移变换。

Xform = [1 0 0 1 0 40 40 1];

创建几何变换对象。这个例子创建了一个仿射2d对象。

tform_translate = affine2d(变换)
tform_translate = affine2d with properties: T: [3x3 double] dimension: 2

创建一个2D引用对象。该对象指定输出空间坐标系统的各个方面,以便需要填充值的区域是可见的。默认情况下,imwarp将输出图像的大小设置为足以包含整个转换后的图像,而不是整个输出坐标空间。

溃败= imref2d(大小(rgb));Rout.XWorldLimits (2) = Rout.XWorldLimits (2) + 40;Rout.YWorldLimits (2) = Rout.YWorldLimits (2) + 40;溃败。图象尺寸=溃败。图象尺寸+ 40 [40];

使用imwarp函数。

tform_translate cb_rgb = imwarp (rgb,“OutputView”,溃败);图中,imshow (cb_rgb)

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

现在执行转换,这次指定一个填充值。

tform_translate cb_fill = imwarp (rgb,“FillValues”(187; 192; 57),...“OutputView”,溃败);图中,imshow (cb_fill)

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

另请参阅

||

相关的话题