2017-06-02 71 views
0

我有一個大陣列MxNxP大小,其中M和N是每個圖像的寬度和長度,P是數字os圖像。現在,這代表具有0.1度分辨率的衛星圖像。是否有可能在Matlab中將這些圖像重新採樣到0.25或0.5度分辨率?在Matlab中重新採樣數千張圖像?

我檢查了resample函數,但我需要更改像素大小,而不是採樣率。最後,我仍然想要P張圖片。

感謝您的幫助。

P.S.我不必調整大小。

+0

這不是你的非常親切的信息重複 – MelB

回答

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) ; 
+0

不,對不起。這是我無法做到的。無法承受數據丟失。此外,像素尺寸也不會因此而改變。 – MelB

+0

interp2怎麼樣? –

+0

是的,我正在嘗試。感謝您的建議。 – MelB