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.

 采纳的回答

% 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)

更多回答(1 个)

KSSV
KSSV 2020-8-5
编辑:KSSV 2020-8-5
Let A be your 100*100 matrix.
B = zeros(300) ;
B(1:100,1:100) = A ;

3 个评论

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.
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
Yes this worked..!!!
Thank you.
Unfortunately I dont have Image toolbox so cant use padarray otherwise it could be easy.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by