空間域濾波實在圖像空間( x、 y)對輸入圖像應用濾波函數(核、模板)來改進輸出圖像的處理方法,主要包括平滑和銳化處理,強調像素與其周圍相鄰像素的關係,經常使用的方法是卷積運算。算法
空間域濾波屬於局部運算,隨着採用的模板窗口的擴大,空間域濾波的運算量會愈來愈大。ide
PIE SDK支持算法功能的執行,下面對經常使用濾波算法功能進行介紹。函數
第一步測試 |
算法參數設置編碼 |
第二步spa |
算法執行code |
第三步視頻 |
結果顯示xml |
算法名稱blog |
經常使用濾波 |
|
C#算法DLL |
PIE.CommonAlgo.dll |
|
C#算法名稱 |
PIE.CommonAlgo.ImgProFiltCommonAlgo |
|
參數結構體 |
StImageCommonInfo |
|
參數說明 |
||
InputFilePath |
String |
輸入文件 (*.tif;*.tiff; *.img) |
OutputFilePath |
String |
輸出文件路徑 (*.tif;*.tiff; *.img) |
XMLFile |
String |
XML文件路徑 (*.xml) |
FilterCommonType |
Int |
濾波類別 高通邊緣檢測濾波 3×3 :類型爲0 高通邊緣加強濾波 3×3 :類型爲1 低通濾波 3×3:類型爲2 高通濾波 3×3:類型爲3 水平濾波 3×3:類型爲4 垂直濾波 3×3:類型爲5 快速濾波 3×3:類型爲6 拉普拉斯1濾波 3×3:類型爲7 拉普拉斯2濾波 3×3:類型爲8 高通邊緣檢測濾波 5×5:類型爲9 高通邊緣加強濾波 5×5:類型爲10 低通濾波 5×5:類型爲11 高通濾波 5×5:類型爲12 水平濾波 5×5:類型爲13 垂直濾波 5×5:類型爲14 快速濾波 5×5:類型爲15 高通邊緣檢測濾波 7×7:類型爲16 高通邊緣加強濾波 7×7:類型爲17 低通濾波 7×7:類型爲18 高通濾波 7×7:類型爲19 水平濾波 7×7:類型爲20 垂直濾波 7×7:類型爲21 快速濾波 7×7:類型爲22 |
FuncName |
String |
功能名稱 |
FileTypeCode |
String |
根據輸出類型得到文件編碼類型 .tif/.tiff——GTiff .img—————HFA 其餘—————ENVI |
LowBands |
IList<Int> |
輸出影像的波段(至少選擇一個波段,{ 0, 1, 2, 3 }) |
項目路徑 |
百度雲盤地址下/PIE示例程序/10.算法調用/圖像處理/ ImageProcessing. ImgProFiltCommonAlgo |
數據路徑 |
百度雲盤地址下/PIE示例數據/柵格數據/01.GF1/GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tiff |
視頻路徑 |
百度雲盤地址下/PIE視頻教程/10.算法調用/圖像處理/經常使用濾波算法avi |
示例代碼 |
|
![]() 1 /// <summary> 2 /// 經常使用濾波算法測試,本算法實現了將GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tiff進行經常使用濾波,濾波類別爲高通邊緣檢測濾波 3×3,輸出影像的波段爲所有波段 3 /// </summary> 4 public override void OnClick() 5 { 6 #region 一、參數設置 7 PIE.CommonAlgo.StImageCommonInfo info = new PIE.CommonAlgo.StImageCommonInfo(); 8 9 info.InputFilePath = @"D:\Data\GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tiff"; 10 info.XMLFile = @"D:\Data\GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.xml"; 11 info.OutputFilePath = @"D:\Data\ip_result13.tif"; 12 info.FilterCommonType = 0; 13 info.FileTypeCode = "GTiff"; 14 info.LowBands = new List<int> { 0,1,2,3 }; 15 16 PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.ImgProFiltCommonAlgo"); 17 if (algo == null) return; 18 #endregion 19 20 //二、算法執行 21 PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents; 22 algo.Name = " 經常使用濾波"; 23 algo.Params = info; 24 bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo); 25 26 //三、結果顯示 27 ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\ip_result13.tif"); 28 m_HookHelper.ActiveView.FocusMap.AddLayer(layer); 29 m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 30 } |