Repeat elements in a 2D vector
古いコメントを表示
I am trying to hardcode the upsampling of an image. The problem I am having is trying to do it in a loop. It seems impossible.Here is what I did.
Image = imread('grayscale.jpg');
%imshow(Image);
% Downsampling
[row, col] = size(Image);
Downimage = Image(1:2:row,1:2:col);
%imshow(Downimage);
%Upsampling
newrow = row*2;
newcol = col*2;
Upimage = zeros(newrow,newcol);
for r = 1:2:newrow
for c = 1:2:newcol
Upimage(r,c) = Downimage(r,c;
Upimage(r+1,c+1) = Downimage;
end
end
%Upimage = reshape([Downimage ; Downimage],1,[]);
%Upimage = repmat(Downimage, 2, 1);
imshow(Upimage);
Now I realize that for the loop to work it needs parameters beside the Downimage in the loop, but I can's seem to make it work due to the downimage being of the shorter size then the upimage. P.S I cant use imresize...I have to hardcode it
回答 (2 件)
dpb
2015 年 11 月 22 日
I'm no image processing guru, but look at
doc filter2
Mayhaps there a specific equivalent for image reconstruction in the appropriate toolbox'en the which of I haveth not...
Jos (10584)
2015 年 11 月 22 日
OutImage = imresize(InImage, 2, 'nearest')
4 件のコメント
Junaid Pirzada
2015 年 11 月 22 日
dpb
2015 年 11 月 22 日
Why not?
Jos (10584)
2015 年 11 月 22 日
You can also use
OutImage = kron(InImage,ones(2))
Junaid Pirzada
2015 年 11 月 23 日
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!