圖像掩膜(Mask)用選定的圖像、圖形或物體,對處理的圖像(所有或局部)進行遮擋,來控制圖像處理的區域或處理過程。掩膜是一種圖像濾鏡的模板,實用掩膜常常處理的是遙感圖像。當提取道路或者河流,或者房屋時,經過一個n*n的矩陣來對圖像進行像素過濾,而後將咱們須要的地物或者標誌突出顯示出來。這個矩陣就是一種掩膜。算法
本算法用於建立一個由 0 和 1 組成的二值圖像(又稱掩模)。 PIE SDK支持算法功能的執行,下面對建立掩膜功能進行介紹。ide
第一步工具 |
算法參數設置測試 |
第二步編碼 |
算法執行spa |
第三步code |
結果顯示視頻 |
算法名稱blog |
建立掩膜教程 |
|
C#算法DLL |
PIE.CommonAlgo.dll |
|
C#算法名稱 |
PIE.CommonAlgo.MaskCreationAlgo |
|
參數結構體 |
MaskCreationExchange_Info |
|
參數說明 |
||
m_strInputFile |
String |
輸入文件 (*.tif;*.tiff;*.img;*.bmp;*.jpg) |
m_strOutputFile |
String |
輸出文件路徑 (*.tif;*.tiff; *.img) |
m_strExtFile |
String |
矢量文件路徑 須要和輸入文件投影一致且有交集 |
m_strFuncName |
String |
功能名稱 |
m_strFileTypeCode |
String |
根據輸出類型得到文件編碼類型 .tif/.tiff——GTiff .img—————HFA 其餘—————ENVI |
項目路徑 |
百度雲盤地址下/PIE示例程序/10.算法調用/多功能工具/ FundamentalToolDemo.MaskApplicationDemo |
數據路徑 |
百度雲盤地址下/ PIE示例數據/柵格數據/04.World/World.tif 百度雲盤地址下/PIE示例數據/矢量數據/Shape省級行政區.shp |
視頻路徑 |
百度雲盤地址下/PIE視頻教程/10.算法調用/多功能工具/建立掩膜算法.avi |
|
|
![]() 1 /// <summary> 2 ///建立掩膜算法測試,本算法實現了將World.tif影像中」省級行政區.shp」範圍的部分建立掩模World7.tif文件 3 /// </summary> 4 private void Test_KrigingInterpolationAlgo() 5 { 6 #region 一、參數設置 7 PIE.CommonAlgo.MaskCreationExchange_Info info = new PIE.CommonAlgo.MaskCreationExchange_Info(); 8 info.m_strInputFile = @"D:\Data\World.tif"; 9 info.m_strOutputFile = @"D:\Data\World7.tif"; 10 info.m_strExtFile = @" D:\Data\省級行政區.shp"; 11 info.m_strFileTypeCode = "GTiff"; 12 13 PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.MaskCreationAlgo"); 14 if (algo == null) return; 15 #endregion 16 17 //二、算法執行 18 PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents; 19 algo.Name = "建立掩模"; 20 algo.Params = info; 21 PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo); 22 23 //三、結果顯示 24 ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\World7.tif"); 25 m_HookHelper.ActiveView.FocusMap.AddLayer(layer); m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 26 } |