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 中查找有关 Images 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by