掩膜裁剪tif步驟 使用Matlab裁剪柵格資料

2021-10-17 04:53:02 字數 1211 閱讀 5106

需求

使用matlab讀取tif格式的柵格資料,並根據該柵格資料裁剪多副其餘柵格資料

製作掩膜資料

mask_data = double(importdata('d:\gpp\ecology\eco1km\2015\eco1km.tif')); % 獲取研究區柵格資料

mask_data(mask_data==15|mask_data==4) = nan; % 將研究區外nodata設為nan值,本例像元值等於15或4的為nan

mask_data(mask_data>0) = 1; % 研究區其餘設為1

柵格資料批量裁剪

% 輸入需要裁剪的柵格資料位址,讀取資料夾下所有tif檔案,乙個檔案代表乙個時間(天\16d\月)的資料

dz = dir('d:\gpp\evi_tem\tem\*.tif');

for i = 1:size(dz,1) % 計算檔案個數

filename = strcat(dz(i).folder,'\',dz(i).name); % 柵格資料的每個檔案位址+檔名

data = double(importdata(filename)); % 獲取柵格資料

%data(data<0) = nan; % 將研究區外nodata設為nan值,本例不需要

data2 = data.*mask_data; % 利用任何數*nan為nan,*1為原數進行裁剪

data_all = data2; % 存放於元胞中

end輸出裁剪後的柵格資料

% 先讀取乙個已有柵格資料的地理資訊

[a,r] = geotiffread('d:\gpp\ecology\eco1km\2015\eco1km.tif');

info = geotiffinfo('d:\gpp\ecology\eco1km\2015\eco1km.tif');

% 輸出帶有地理座標資訊的柵格資料

for k = 1:length(data_all)

tempp = data_all;

filename = strcat(dz(k).folder,'\l_',dz(k).name); % 柵格資料的每個檔案位址+檔名

geotiffwrite(filename,tempp,r,'geokeydirectorytag',info.geotifftags.geokeydirectorytag)

end補充說明

掩膜的柵格資料和需裁剪的柵格資料,行列數需一致

OpenCV學習 掩膜

影象掩膜,用選定的影象 圖形或物體,對處理的影象 全部或區域性 進行遮擋,來控制影象處理的區域或處理過程。掩膜是一種影象濾鏡的模板,實用掩膜經常處理的是遙感影象。當提取道路或者河流,或者房屋時,通過乙個n n的矩陣來對影象進行畫素過濾,然後將我們需要的地物或者標誌突出顯示出來。這個矩陣就是一種掩膜。...

opencv 掩膜操作

saturate cast函式保證運算後全部歸一化在0 255之間,注意上面row,col的移動範圍是很有講究的,的四個邊緣行因為沒有完整的上下左右所以省略,然而在實際應用掩膜操作時候並不用到自己這麼複雜的寫 opencv中提供了乙個filter2d函式。mat kernel mat 3,3 0,1...

python opencv實現掩膜

import ssl import urllib.request import cv2 import numpy as np 獲得def getpic name,url name 位址 url 名字 自定義 解決ssl驗證 請求 resp urllib.request.urlopen url ima...