MATLAB Answers

Adding zeros to matrix

4 views (last 30 days)
I have to do image processing. I have one data with 100 x 100 matrix and another with 300 x 300 matrix. I want to add zeros to 100 x100 matrix to equalize it like 300 x300 but zeros to be added after 100 x 100 equally and not in particular end.

  0 Comments

Sign in to comment.

Accepted Answer

Bruno Luong
Bruno Luong on 5 Aug 2020
% Replace this with your image
Image100 = peaks(100)+10;
%Centering padding in 4 sides
PadImage300 = zeros(300,300,size(Image100,3),class(Image100));
PadImage300(101:200,101:200,:) = Image100;
imagesc(PadImage300)

  0 Comments

Sign in to comment.

More Answers (1)

KSSV
KSSV on 5 Aug 2020
Edited: KSSV on 5 Aug 2020
Let A be your 100*100 matrix.
B = zeros(300) ;
B(1:100,1:100) = A ;

  3 Comments

Anjali Sharma
Anjali Sharma on 5 Aug 2020
Thank you for the answer.
This yield a matrix with zeros added at the end of my data matrix.
Suppose A =
1 2
3 4
I want zeros to be added like this
A =
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 2 0 0
0 0 3 4 0 0
0 0 0 0 0 0
0 0 0 0 0 0
equally all aorund. The data should lie in between zeros.
Can you pls suggest anything here.
KSSV
KSSV on 5 Aug 2020
A = rand(2) ;
[m,n] = size(A) ;
B = zeros(3*m,3*n) ;
B((m+1):2*m,(n+1):2*n) = A ;
Also read about padarray
Anjali Sharma
Anjali Sharma on 5 Aug 2020
Yes this worked..!!!
Thank you.
Unfortunately I dont have Image toolbox so cant use padarray otherwise it could be easy.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by