日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PIE SDK剔除栅格块算法

發布時間:2024/9/5 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PIE SDK剔除栅格块算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.算法功能簡介

  剔除柵格塊即剔除柵格小斑塊功能。一幅影像圖層某一區域存在碎小斑塊,需要對其按照一定的條件進行剔除。

  PIE支持剔除柵格快算法功能的執行,下面對該算法功能進行介紹。

2.算法功能實現說明

2.1 實現步驟

第一步

算法參數設置

第二步

算法執行

第三步

結果顯示

2.2 算法參數

算法名稱

剔除柵格塊

C#算法DLL

PIE.CommonAlgo.dll

C#算法名稱

PIE.CommonAlgo.ImageSieveFilterAlgo

參數結構體

ImageSieveFilterDataset_Exchange_info

參數說明

InputRasterDataset

IRasterDataset

輸入的柵格數據集【輸入信息】

OutputRasterDataset

IRasterDataset

輸出的柵格數據集(*.tif;*.tiff) 【輸出信息】

MinArea

int

需要剔除的柵格塊的最小面積【輸入信息】

BModifyOriginal

bool

是否修改原始數據集

?

算法名稱

剔除柵格塊

C#算法DLL

PIE.CommonAlgo.dll

C#算法名稱

PIE.CommonAlgo.ImageSieveFilterAlgo

參數結構體

ImageSieveFilter_Exchange_info

參數說明

InputFile

String

輸入的柵格數據文件路徑(*.tif;*.tiff) 【輸入信息】

OutputFile

String

輸出的柵格數據文件路徑(*.tif;*.tiff) 【輸出信息】

MinArea

Int

需要剔除的柵格塊的最小面積【輸入信息】

2.3 示例代碼

數據路徑

百度云盤地址下/ PIE示例數據/柵格數據/04.World/World.tif

示例代碼

1 /// <summary> 2 剔除柵格塊 3 /// /// </summary> 4 public void ImageSieveFilte () 5 { 6 FrmImageSieveFilter frmImageSieveFilter = new FrmImageSieveFilter(); 7 if (frmImageSieveFilter.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; 8 IRasterDataset dataset = DatasetFactory.OpenRasterDataset(frm.Exchange_info.InputFile, OpenMode.ReadOnly); 9 if (dataset == null) return; 10 ImageSieveFilter_Exchange_info info = new ImageSieveFilter_Exchange_info();//得到生成實體文件用這種方法 11 info = frm.Exchange_info; 12 //ImageSieveFilterDataset_Exchange_info info = new ImageSieveFilterDataset_Exchange_info();//生成緩存數據集或者該別原數據集 13 //info.BModifyOriginal = false; 14 //info.InputRasterDataset = dataset; 15 //info.MinArea = frm.Exchange_info.MinArea; 16 17 ISystemAlgo algo = AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.ImageSieveFilterAlgo"); 18 if (algo == null) return; 19 algo.Params = info; 20 bool result = AlgoFactory.Instance().ExecuteAlgo(algo); 21 //info = algo.Params as ImageSieveFilterDataset_Exchange_info;//得到執行后的結果輸出柵格數據集,算法執行完后把結果存在 OutputRasterDataset,需要重新獲取一下 22 if (result) 23 { 24 // ILayer layer = LayerFactory.CreateDefaultRasterLayer(info.OutputRasterDataset) as ILayer; 25 ILayer layer = LayerFactory.CreateDefaultLayer(info.OutputFile); 26 if (layer == null) return; 27 mapControlMain.ActiveView.FocusMap.AddLayer(layer); 28 mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 29 } 30 } View Code

2.4 示例截圖

?

轉載于:https://www.cnblogs.com/PIESat/p/11249017.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的PIE SDK剔除栅格块算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。