我有一个大的数组MxNxP大小,其中M和N是每个图像的宽度和长度,P是数字os图像。现在,这代表具有0.1度分辨率的卫星图像。是否可以在Matlab中将这些图像重新采样为0.25或0.5度分辨率?
我检查了重采样功能,但我需要更改像素大小,而不是采样率。最后,我仍然想要P个图像。
感谢您的帮助。
P.S。我没有必要调整大小。
答案 0 :(得分:0)
您可以跳过几行和多列并将输出转换为矩阵?
A = rand(100,100) ;
A_reduced = A(1:2:10,1:2:10) ;
如果你想要精确的分辨率,你可以使用 interp2 。
I = imread('peppers.png') ;
[nx,ny,t] = size(I) ;
x = 1:ny ;
y = 1:nx ;
[X,Y] = meshgrid(x,y) ;
%%
dx = 2 ; dy = 2 ;
[Xi,Yi] = meshgrid(1:dx:ny,1:dy:nx) ;
Zi = zeros(size(Xi,1),size(Xi,2),t) ;
for i = 1:t
Zi(:,:,i) = interp2(X,Y,double(I(:,:,i)),Xi,Yi) ;
end
Zi = uint8(Zi) ;