聚類處理時運用形態學算子將臨近的相似分類區域聚類併合並。算法
PIE SDK支持算法功能的執行,下面對聚類算法功能進行介紹。ide
第一步測試 |
算法參數設置spa |
第二步code |
算法執行視頻 |
第三步blog |
結果顯示教程 |
算法名稱ip |
聚類ci |
|
C#算法DLL |
PIE.CommonAlgo.dll |
|
C#算法名稱 |
PIE.CommonAlgo.ImgClassPostClumpAlgo |
|
參數結構體 |
StClassPostclump |
|
參數說明 |
||
inputfile |
String |
輸入分類後的影像路徑 *.tif;*.tiff;*.img |
outputfile |
String |
輸出影像路徑 |
classindex |
IList<Int> |
選擇的分類列表 |
kernel |
IList<Int> |
本算法中該參數含義爲形態學算子,一共須要兩個變量 第一個值表示形態學算子Rows大小值爲奇數 第二個值表示形態學算子Columns大小值爲奇數 |
項目路徑 |
百度雲盤地址下/PIE示例程序/10.算法調用/圖像處理/ ImageProcessing. ImgClassPostClumpAlgo |
數據路徑 |
百度雲盤地址下/PIE示例數據/柵格數據/01.GF1/ISODataClassification.tif |
視頻路徑 |
百度雲盤地址下/PIE視頻教程/10.算法調用/圖像處理/聚類算法avi |
示例代碼 |
|
1 /// <summary> 2 /// 聚類算法測試,本算法實現了將ip_result1.tif進行聚類,選擇的分類列表爲所有分類,形態學算子Rows和Columns均爲3 3 /// </summary> 4 public override void OnClick() 5 { 6 #region 一、參數設置 7 PIE.CommonAlgo.StClassPostclump info = new PIE.CommonAlgo.StClassPostclump(); 8 9 info.inputfile = @"D:\Data\ISODataClassification.tif"; 10 info.outputfile = @"D:\Data\ip_result5.tif"; 11 info.classindex = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; 12 info.kernel = new List<int> { 3,3 }; 13 14 PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.ImgClassPostClumpAlgo"); 15 if (algo == null) return; 16 #endregion 17 18 //二、算法執行 19 PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents; 20 algo.Name = " 聚類"; 21 algo.Params = info; 22 bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo); 23 24 //三、結果顯示 25 ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\ip_result5.tif"); 26 m_HookHelper.ActiveView.FocusMap.AddLayer(layer); 27 m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 28 } |