PIE SDK建立掩膜

 

1.算法功能簡介

    圖像掩膜(Mask)用選定的圖像、圖形或物體,對處理的圖像(所有或局部)進行遮擋,來控制圖像處理的區域或處理過程。掩膜是一種圖像濾鏡的模板,實用掩膜常常處理的是遙感圖像。當提取道路或者河流,或者房屋時,經過一個n*n的矩陣來對圖像進行像素過濾,而後將咱們須要的地物或者標誌突出顯示出來。這個矩陣就是一種掩膜。算法

    本算法用於建立一個由 0 和 1 組成的二值圖像(又稱掩模)。 PIE SDK支持算法功能的執行,下面對建立掩膜功能進行介紹。ide

2.算法功能實現說明

2.1. 實現步驟

第一步工具

算法參數設置測試

第二步編碼

算法執行spa

第三步code

結果顯示視頻

2.2. 算法參數

算法名稱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

2.3.示例代碼

 

項目路徑

百度雲盤地址下/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                     }
View Code

2.4. 示例截圖

相關文章
相關標籤/搜索