How to pad zeros?

4 次查看(过去 30 天)
Sabarinathan Vadivelu
I have an image whose size is 1023*1023. I want to make this image as 1024*1024 by zero padding.
A = zeros (1023,1);
I1 = horzcat (I1,A);
I2 = horzcat (I2,A);
B = zeros (1,1024);
I1 = vertcat (I1,B);
I2 = vertcat (I2,B);
Is this right?

采纳的回答

José-Luis
José-Luis 2012-9-5
If you want to add a dark edge (that's what the zeros will be), at the bottom and to the right:
load mandrill
[m n] = size(X); %in your case it will be [1023 1023]
X = [ [X;zeros(1,n)] zeros(m+1,1)];
At the top and to the left:
load mandrill
[m n] = size(X); %in your case it will be [1023 1023]
X = [ zeros(m+1,1) [zeros(1,n);X] ];
Plus the two other alternatives, with the same principle:
X = [[zeros(1,n);X] zeros(m+1,1)];
X = [ zeros(m,1) [X;zeros(1,n+1)] ];

更多回答(1 个)

Image Analyst
Image Analyst 2012-9-5
编辑:Image Analyst 2012-9-5
You can use the padarray() function. It's meant for doing exactly this.
paddedArray = padarray(originalArray, [1 1]);
  3 个评论
Dishant Arora
Dishant Arora 2012-9-5
paddedArray = padarray(originalArray, [1 1],'post');
Image Analyst
Image Analyst 2012-9-5
Sorry - I misread and thought you wanted an extra zero all the way around. Thanks, Dishant, for the correction.

请先登录,再进行评论。

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by