1. 程式人生 > >PIE SDK應用掩膜

PIE SDK應用掩膜

 

1.演算法功能簡介

    當對一幅影象應用掩膜時, 1 值的區域被保留, 0 值的區域被捨棄( 1 值區域被處理, 0 值區域被遮蔽不參與計算)。

    PIE SDK支援演算法功能的執行,下面對應用掩膜演算法功能進行介紹。

2.演算法功能實現說明

2.1 實現步驟

第一步

演算法引數設定

第二步

演算法執行

第三步

結果顯示

2.2 演算法引數

C#演算法DLL

PIE.CommonAlgo.dll

C#演算法名稱

PIE.CommonAlgo.MaskApplicationAlgo

引數結構體

MaskApplicationExchange_Info

引數說明

m_strInputFile

String

輸入檔案路徑

(*.tif;*.tiff;*.img;*.bmp;*.jpg)

m_strOutputFile

String

輸出檔案路徑

(*.tif;*.tiff; *.img)

m_strMaskFile

String

掩膜檔案路徑

m_strFuncName

String

功能名稱

m_iMaskValue

int

掩膜值

m_strFileTypeCode

String

根據輸出型別獲得檔案編碼型別

.tif/.tiff——GTiff

.img—————HFA

其他—————ENVI

2.3示例程式碼

專案路徑

百度雲盤地址下/PIE示例程式/ FundamentalToolDemo.MaskApplicationDemo  

資料路徑

百度雲盤地址下/ PIE示例資料/柵格數/World/world.tiff 

World7.tif

視訊路徑

百度雲盤地址下/PIE視訊教程/應用掩膜演算法avi

示例程式碼

 1         /// <summary>
 2         ///應用掩膜演算法測試,本演算法實現了將World.tif應用World7.tif掩模檔案生成World8.tif檔案
 3         /// </summary>
 4         private void Test_KrigingInterpolationAlgo()
 5         {
 6             #region 1、引數設定
 7             PIE.CommonAlgo.MaskApplicationExchange_Info info = new PIE.CommonAlgo.MaskApplicationExchange_Info();
 8             info.m_strInputFile = @"D:\Data\World.tif";
 9             info.m_strOutputFile = @"D:\Data\World8.tif";
10             info.m_strMaskFile = @"D:\Data\World7.tif";
11             info.m_iMaskValue = 1;
12             info.m_strFileTypeCode = "GTiff";
13 
14             PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.MaskApplicationAlgo");
15             if (algo == null) return;
16 #endregion
17 
18             //2、演算法執行
19             PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
20             algo.Name = "應用掩模";
21             algo.Params = info;           PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo);
22             
23             //3、結果顯示
24 ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\World8.tif");
25             m_HookHelper.ActiveView.FocusMap.AddLayer(layer);         m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);                      
26                     }
View Code

2.4示例截圖