imageex(limage,heightx2,widthx2);
A=size(height,width);
B=zeros(m+h*2,n+w*2); %创建个扩展大小的0矩阵
B(h+1:h+m,w+1:w+n)=A(m,n); %将原矩阵填入中间位置
B(1:h,w+1:w+n)=A(1,:); %大矩阵的上面扩展行赋值为原矩阵的第一行
B(h+m+1:h*2+m)=A(m,:); %大矩阵的下面扩展行赋值为原矩阵的最后一行
B(h+1:h+m,1:w)=A(:,1); %大矩阵的左面扩展列赋值为原矩阵的最左一列
B(h+1:h+m,w+n+1:n+w*2)=A(:,n) %大矩阵的右面扩展列赋值为原矩阵的最右一列
%其中height替换为m
%width替换为n
%heightx2替换为h
%widthx2替换为w
弱智版。。
function b=imageex(limage,height,width)
m=width;
n=height;
b=zeros(m+2,n+2);
for i=1:m
for j=1:n
b(i+1,j+1)=limage(i,j);
end
end
i=1;
for j=1+1:n+1
b(i,j)=b(i+1,j);
end
i=m+2;
for j=1+1:n+1
b(i,j)=b(i-1,j);
end
j=1;
for i=1+1:m+1
b(i,j)=b(i,j+1);
end
j=n+2;
for i=1+1:m+1
b(i,j)=b(i,j-1);
end
用repmat的话应该是做个3*3的a复制,把中间(height+2)*(width+2)的提取出来后将第一行和最后一行以及第一列和最后一列交换,然后赋零?