使用matlab批量讀寫tiff圖像

matlab的批量讀取程序如下:

%遍歷循環讀取所有tiff文件
file_path = 'E:\singleWoodSegement\CHMfenge(0.25)\';% 圖像文件夾路徑 
img_path_list = dir(strcat(file_path,'*.tif'));%獲取該文件夾中所有TIF格式的圖像 
img_num = length(img_path_list);%獲取圖像總數量
II=cell(1,img_num);
if img_num > 0
        for jj = 1:img_num 
                 image_name = img_path_list(jj).name;% 圖像名 
                 [image,geo] = geotiffread(strcat(file_path,image_name)); 
                 II{jj}=image;
                 fprintf(' %d %s\n',jj,strcat(file_path,image_name));% 顯示正在處理的圖像名 
end
end

我們使用geotiffread函數讀取帶有地理信息的tiff圖像,如遙感圖像等,該方法返回兩個參數,第一個參數image是圖像的二維矩陣,第二個參數geo是地理信息;如使用imread讀取則不能讀取地理信息,寫入文件時較麻煩。

批量寫入tiff圖像代碼如下:

 CoordRefSysCode=32652; %座標系編碼  wgs84 utm 52n
 outpath='';%路徑
 outFile = strcat(outpathTreetop, out_treetopname);%路徑下的文件名
 
 %輸出 第一個參數是輸出路徑 第二個參數是圖像二維矩陣 第三個參數是圖像的地理信息,第四、五個參數是投影信息
 geotiffwrite(outFile, treeTop, geo,'CoordRefSysCode',CoordRefSysCode)
 

至此完成tiff圖像的讀取以及寫入,中間可以加入圖像處理的程序,給到geotiffwrite的第二個參數中,後輸出圖像。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章