1

画像をブロックに分割し、各ブロックにゼロの境界線を追加する必要があるという問題があります。1 つまたは 2 つのゼロで十分です。すべての画像に境界線を追加しましたが、画像の各ブロックに境界線を追加したいと考えています。

注::: 任意のサイズのブロックの数 例: 4X4 ブロック

img=round(100*rand(4,4));
[n,m]=size(img);
x=zeros(n+2,m+2);
%%%%%Applying zero padding to the image
for i=1:n+2
    for j=1:m+2
        if i==1 || i==n+2 || j==1 || j==m+2
            x(i,j)=0;
        else
            x(i,j)=img(i-1,j-1);
        end
    end
end
x

各ブロック1または2ゼロの周りでこのような出力を取得する必要があります

 0     0     0     0    0    0     0   0  
 0    84    80     0    0   65    85   0
 0    29    19     0    0   23    77   0
 0     0     0     0    0    0     0   0
 0     0     0     0    0    0     0   0
 0    84    80     0    0   66    74   0
 0    29    19     0    0   36    80   0
 0     0     0     0    0    0     0   0
4

1 に答える 1

2
%n: Size of original matrix
n=size(img,1)
%prealloc new matrix
img2=zeros(n+3,n+3)
%p indicates indices to store img at
p=[(2:n/2+1),(n/2+3:n+2)]
%Copy img to the correct positions
img2(p,p)=img
于 2013-10-19T18:36:03.903 に答える