resampling DEM using imresize in a for loop = cell array?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a replicated, 20 'layer' DEM datacube 2380x1707x20 and want to iteratively decrease the grid resolution of each layer, while passing all outputs into a single object. It's a scaling exercise to compare resampling with smoothing.
imresize() function works well for decreasing the grid rez, and because each for loop output contains different dims I assume passing them into a single cell array is the way to go. But my approach and/or notation is off... help?
%%RESAMPLE DEM OBJECT
rast
n = 1:1:20;
for i=1:n
out{i} = imresize(rast(:,:,i), 1/i, 'Method', 'box');
end
Cell contents assignment to a non-cell array object.
0 Kommentare
Akzeptierte Antwort
Sean de Wolski
am 2 Mai 2013
What is out before the loop starts?
You should preallocate it as a cell:
out = cell(3,1);
for ii = 1:3
out{ii} = imresize(rand(randi(100)),0.25);
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Multirate Signal Processing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!