Borrar filtros
Borrar filtros

how to add zeros around a matrix?

27 visualizaciones (últimos 30 días)
Mucahid Akyar
Mucahid Akyar el 22 de Nov. de 2017
Comentada: DGM el 13 de Mzo. de 2024
for example i have a matrix A = [1 2 3; 2 3 4; 5 6 7] I am working on image processing and I want to add zeros around this matrix like below. How can i do that?
0 0 0 0 0
0 1 2 3 0
0 2 3 4 0
0 5 6 7 0
0 0 0 0 0

Respuesta aceptada

Stephen23
Stephen23 el 22 de Nov. de 2017
>> conv2(A,[0,0,0;0,1,0;0,0,0])
ans =
0 0 0 0 0
0 1 2 3 0
0 2 3 4 0
0 5 6 7 0
0 0 0 0 0
  5 comentarios
Stephen23
Stephen23 el 22 de Nov. de 2017
Editada: Stephen23 el 22 de Nov. de 2017
It is not clear what you would expect the result to be. MATLAB does not currently have a syntax for looping over two variables at once. You could define the loop to be an index and use that to select elements from those vectors:
iV = 0:1:5;
jV = 0:1:5;
for k = 1:numel(iV)
iN = iV(k);
jN = jV(k);
end
Eren Ozcelik
Eren Ozcelik el 30 de Abr. de 2021
Hi. How can I use this method for non-square matrix? For example creating a border for 1000x1500 matrix.

Iniciar sesión para comentar.

Más respuestas (3)

KL
KL el 22 de Nov. de 2017
newA = zeros(size(A)+2);
newA(2:end-1,2:end-1)=A

Andrei Bobrov
Andrei Bobrov el 22 de Nov. de 2017
Editada: Andrei Bobrov el 22 de Nov. de 2017
padarray(A,[1 1],0)
  2 comentarios
Stephen23
Stephen23 el 22 de Nov. de 2017
Note: requires the image toolbox.
DGM
DGM el 16 de Jul. de 2022
While padarray() requires IPT, MIMT has padarrayFB(), which uses, but does not require IPT. That's a possibility for those who don't have IPT. ... but then MIMT also has other options for adding borders to images.

Iniciar sesión para comentar.


noam gridish
noam gridish el 12 de Mzo. de 2024
% create bigger mat of zeros
[m,n]=size(A);
paded_mat=zeros(m+1,n+1);
paded_mat(2:end-1,2:end-1)=A;
A=paded_mat;
  1 comentario
DGM
DGM el 13 de Mzo. de 2024
Have you tested this? I ask because it will throw an error. Your preallocated array is too small.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by