What is the use of repmat in the following program?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Jan
2013-8-15
编辑:Jan
2013-8-15
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 个评论
Jan
2013-8-15
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?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!