本文来自于matlab帮助页面,命令:help padarray
语法:
B = padarray(A,padsize)
B = padarray(A,padsize,padval)
B = padarray(A,padsize,padval,direction)
gpuarrayB = padarray(gpuarrayA,___)
描述:
B = padarray(A,padsize) 用0填充数组A。padsize是一个由非负整数组成的向量,它指定要添加的填充量和维度。向量中元素的值指定要添加的填充量。向量中元素的顺序指定要添加填充的维度。
例如,padsize值[2 3]表示沿第一个维度添加2个填充元素,沿第二个维度添加3个填充元素。默认情况下,paddarray沿着指定的维度在第一个元素之前和最后一个元素之后添加填充。
B = padarray(A,padsize,padval) 填充数组A,其中padval指定要用作pad值的值。padarray使用值0(0)作为默认值。padval可以是直接指定填充值的标量,也可以是指定填充数组(三维填充用的到,见例子3)用于确定作为填充添加的元素值的方法的以下文本字符串之一。
例子:
例1:
在向量的开头添加三个填充元素。填充元素(由灰色底纹表示)包含数组元素的镜像副本。
a = [ 1 2 3 4 ];
b = padarray(a,[0 3],'symmetric','pre')
b ==
例2:将三个填充元素添加到数组第一个维度的末尾,并将两个填充元素添加到第二个维度的末尾。该示例使用最后一个数组元素的值作为填充值。
A = [1 2; 3 4];
B = padarray(A,[3 2],'replicate','post')
B =
例3:
向三维数组的垂直和水平维度添加三个填充元素。使用缺省值作为pad值和方向。
A = [ 1 2; 3 4];
B = [ 5 6; 7 8];
C = cat(3,A,B)
C(:,:,1) =
1 2
3 4
C(:,:,2) =
5 6
7 8
D = padarray(C,[3 3])
D(:,:,1) ==
D(:,:,2) ===
在GPU上执行填充
在图像的所有边添加填充。
gcam = gpuArray (imread (' cameraman.tif '));
padcam = padarray(gcam,[50 50],'both');
imshow (padcam)
更多
代码生成
此函数支持使用MATLAB®Coder™生成C代码。有关更多信息,请参见图像处理的代码生成。
在生成代码时,padarray只支持最多3-D输入,并且输入参数、padval和方向必须是编译时常量。
MATLAB 函数块
您可以在Simulink中的MATLAB函数块中使用这个函数。
在生成代码时,padsize必须是编译时常量。
另请参阅
circshift | gpuArray | imfilter
Introduced before R2006a