matlab - 如何在矩阵周围添加镜像填充?

标签 matlab matrix padding mirror

我有一个矩阵,想要在其周围添加填充,但填充的值必须镜像。

我尝试使用A = padarray(B,[1 1],'symmetry','both');

但它反射(reflect)了矩阵 B 的边缘值。

含义如果

  B = [1 2 3; 
       4 5 6; 
       7 8 9]; 

结果将是

  A = [1 1 2 3 3; 
       1 1 2 3 3; 
       4 4 5 6 6; 
       7 7 8 9 9; 
       7 7 8 9 9]

但我需要 A 看起来像这样:

 A = [5 4 5 6 5; 
      2 1 2 3 2; 
      5 4 5 6 5; 
      8 7 8 9 8;
      5 4 5 6 5]

是否有一些像 padarray 这样的函数我可以使用或者我必须手动执行?

最佳答案

您可以将对称[2 2]结合使用并删除多余的部分,

B = [1 2 3; 4 5 6; 7 8 9];
c = padarray(B,[2 2],'both','symmetric');
c(end-1,:) = [];
c(:,end-1) = [];
c(:,2) = [];
c(2,:) = [];

给予,

c =

 5     4     5     6     5
 2     1     2     3     2
 5     4     5     6     5
 8     7     8     9     8
 5     4     5     6     5

关于matlab - 如何在矩阵周围添加镜像填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26703383/

相关文章:

image - 不使用 histeq 的两个图像的直方图匹配

Matlab:按顺序重复每列n次

encryption - SonarQube : Make sure that encrypting data is safe here. AES/GCM/NoPadding、RSA/ECB/PKCS1Padding

html - margin 不能正常工作?填充做 margin 的工作?

matlab - 在 matlab 中连接元胞数组的向量

r - 构建一个没有重复但固定部分输入的随机矩阵

python - 处理大矩阵的硬件要求 - python

matrix - 为什么像 gem 迷阵这样的 n×n 矩阵游戏中有 n-1 个不同的对象?

html - 如何删除 HTML 中字符之间的空格?填充不起作用

matlab - Octave:脚本暂停时无法与窗口交互