可以实现对大图片逐像元的操作:
将n张卫星片子看做是第n层数据,构造一个x*y*n的一个三维数组:
A=imread('TIFF_1986_NDVI.tif'); B=imread('TIFF_1987_NDVI.tif'); X=zeros(3984,4186,2); X(:,:,1)=A; X(:,:,2)=B;
对构造的矩阵进行操作,比如,对每层相应的像元进行排序,相减后得到Y_diff:
Y=sort(X,3); Y_diff=Y(:,:,2)-Y(:,:,1);
然后将Y_diff重新保存成tif格式的图片;
imwrite(Y_diff,'z.tif');
在整个过程中,由于每张片子是3984*4186的矩阵,因此,在计算的过程中尽量不要在commond windows窗口中显示。