Matlab对图片的读写和操作

可以实现对大图片逐像元的操作:

将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窗口中显示。

Leave a Reply

Your email address will not be published. Required fields are marked *