Matlab 矩阵向外扩展n圈(m行n列)补0或者填充其它数值

2022-10-05 14:16:19

问题

我们在用matlab做实验的时候可能会遇到需要将灰度图片的维度进行扩展,或者创造一个合适大小的滤波器,这种时候就需要向外扩展填充元素。


方法

可以使用padarray()方法,该函数总共有三个参数:

参数1:输入原始矩阵

参数2:输入行列的扩展数,格式为[m n]

参数3:输入扩展填充数值,默认为0

直接上代码!!!

% 全1的3X3矩阵
origin = ones(3,3);

% 向外扩展两行两列,补0
padarray(origin, [2 2]);

ans =

     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     1     1     1     0     0
     0     0     1     1     1     0     0
     0     0     1     1     1     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0


% 全1的3X3矩阵
origin = ones(3,3);

% 向外扩展三行两列,补4
padarray(origin, [3 2],4);

ans =

     4     4     4     4     4     4     4
     4     4     4     4     4     4     4
     4     4     4     4     4     4     4
     4     4     1     1     1     4     4
     4     4     1     1     1     4     4
     4     4     1     1     1     4     4
     4     4     4     4     4     4     4
     4     4     4     4     4     4     4
     4     4     4     4     4     4     4


希望我的分享能够帮到您,谢谢您的观看!!!

  • 作者:梦想是优秀社畜
  • 原文链接:https://blog.csdn.net/weixin_44178960/article/details/118023145
    更新时间:2022-10-05 14:16:19