matlab 對tif數據高程圖的處理分析


temp=z(101:2200,101:2200) 

  根據圖像屬性可得此為2300*2300的tif圖像,由於需要將其划分為9宮格,所以begin點設置為101,end點設置為2200,temp轉化為可均分的2100*2100矩陣

for i=1:9

    switch i

        case  {1,2,3}

     G{i}=temp(1:700,1+(i-1)*700:i*700);

        case  {4,5,6}

     G{i}=temp(701:1400,1+(i-4)*700:(i-3)*700);

        case  {7,8,9}

     G{i}=temp(1401:end,1+(i-7)*700:(i-6)*700);

    end

end

首先明確概念,:在此處,舉例i=1,temp(1:700, 1:700)表示的是截取矩陣1行到1行,1到700列的元素

 

 

 

 

for i=1:9

    b=i;

    a=330+i;

   subplot(a);

   imshow(G{1,i});

end

 

//明確subplot的使用方法:說明划分為3*3的圖像塊,p決定了每一圖像塊的顯示位置

參考代碼:

%% 第一張數字高程圖的處理
clc;clear;close all;tic;
z=imread('附件3 距2400m處的數字高程圖.tif');
%z=double(z);imshow(z);
% x=1:length(z);y=x;
% [X2,Y2]=meshgrid(x,y);
% %mesh(X2,Y2,double(z));
% %meshc(X2,Y2,double(z));
% [C,h]=contour(X2,Y2,double(z));
% axis([0 2300 0 2300 ]);
% colormap(gray);colorbar;
% toc;
%% 划分區域
temp=z(101:2200,101:2200);%轉化為可均分的2100X2100九宮格矩陣
for i=1:9
    switch i
        case  {1,2,3}
     G{i}=temp(1:700,1+(i-1)*700:i*700);
        case  {4,5,6}
     G{i}=temp(701:1400,1+(i-4)*700:(i-3)*700);
        case  {7,8,9}
     G{i}=temp(1401:end,1+(i-7)*700:(i-6)*700);
    end
end
for i=1:9
    b=i;
    a=330+i;
   subplot(a);
   imshow(G{1,i});
end

  

圖像處理結果為:將整個tif圖像文件平均分為9塊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM