How to pad zeros?

조회 수: 3 (최근 30일)
Sabarinathan Vadivelu
Sabarinathan Vadivelu 2012년 9월 5일
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
Andrei Bobrov
Andrei Bobrov 2012년 9월 5일
xout = zeros(size(X)+1);
xout(1:end-1,1:end-1) = X;

댓글을 달려면 로그인하십시오.

추가 답변 (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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by