What is the use of repmat in the following program?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
What is the use of repmat in the following program?
i=I;
[ir ic]=size(I);
if ir ~=512 && ic~=512
I=repmat(I,[1 2]);
end
0 comentarios
Respuestas (1)
Jan
el 15 de Ag. de 2013
Editada: Jan
el 15 de Ag. de 2013
If none of the dimensions of I equal 512 (for some reason) it is repeated and the copied matrix is added horizontally to I.
i.e. the following should produce the same output
if ~any( size(I)==512 )
I=horzcat(I,I);
end
2 comentarios
Jan
el 15 de Ag. de 2013
As I said, the matrix I (or image if you will) will be duplicated and the results concatenated if none of the input dimensions equal "512". In that case, the code does affect the image - you end up with an image of double width where left half and right half are identical. Prior to this step a copy of the image is made (i=I;). No data will be lost.
Anyway, the action based on the condition in the if-statement does seem slightly weird to me. Are you sure the code makes sense in a broader scope?
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!