1.算法功能简介

中值滤波是一种最常用的非线性平滑滤波器,它将窗口内的所有像素值按高低排序后,取中间值作为中心像素的新值。

中值滤波对噪声有良好的滤除作用,特别是在滤除噪声的同时,能够保护信号的边缘,使之不被模糊。 中值滤波对于随机噪声的抑制比均值滤波差一些,但对于脉冲噪声干扰的椒盐噪声,中值滤波是非常有效的。

PIE支持算法功能的执行,下面对中值滤波算法功能进行介绍。

2.算法功能实现说明

2.1. 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2. 算法参数

算法名称

中值滤波

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo.ImgProFiltMiddleAlgo

参数结构体

StImageMiddleInfo

参数说明

InputFilePath

String

输入文件

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

OutputFilePath

String

输出文件路径

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

XMLFile

String

XML文件路径

(*.xml)

LM

Int

模板大小M(最小为3的奇数)

LN

Int

模板大小N(最小为3的奇数,和LM值一样)

FilterType

Int

中值滤波类别(水平中值滤波:0; 垂直中值滤波:1; 中值滤波:2)

FuncName

String

功能名称

FileTypeCode

String

根据输出类型获得文件编码类型

.tif/.tiff——GTiff

.img—————HFA

其他—————ENVI

LowBands

IList<Int>

输出影像的波段(至少选择一个波段,{ 0, 1, 2 })(表示输出出3个波段的,该波段的个数要小于等于栅格的波段数)

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/10.算法调用/图像处理/ ImageProcessing. ImgProFiltMiddleAlgo

数据路径

百度云盘地址下/PIE示例数据/栅格数据/04.World/ World.tif

视频路径

百度云盘地址下/PIE视频教程/10.算法调用/图像处理/中值滤波算法.avi

示例代码

          /// <summary>
/// 中值滤波算法测试,本算法实现了将World.tif进行常用滤波,输出影像的波段为全部波段
/// 模板大小M和N均为3,中值滤波类别为水平中值滤波
/// </summary>
public override void OnClick()
{
#region 1、参数设置
PIE.CommonAlgo.StImageMiddleInfo info = new PIE.CommonAlgo.StImageMiddleInfo(); info.InputFilePath = @"D:\Data\World.tif";
info.OutputFilePath = @"D:\Data\ip_result14.tif";
info.LM = ;
info.LN = ;
info.FilterType = ;
info.FileTypeCode = "GTiff";
info.LowBands = new List<int> { , , };//注意波段数量不能多余本身的个数 PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.ImgProFiltMiddleAlgo");
if (algo == null) return;
#endregion //2、算法执行
PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
algo.Name = " 中值滤波";
algo.Params = info;
bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo); //3、结果显示
ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\ip_result14.tif");
m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.4.示例截图

最新文章

  1. MongoDB的安装与设置MongoDB服务
  2. C++对象模型详解
  3. ajax实例详解(2)
  4. WMI使用
  5. ng-bind的使用
  6. 【leetcode❤python】 374. Guess Number Higher or Lower
  7. jqGrid 设置列宽
  8. EntityFramework动态组合多排序字段
  9. hibernate 对象状态异常:object references an unsaved transient instance - save the transient instance before flushing
  10. windows 基于命令行制作vhd虚拟磁盘
  11. Windows 10 安装
  12. AMDBarUtility Update Ditection Page
  13. kafka知识体系-kafka设计和原理分析-kafka leader选举
  14. Jupyter notebook 输出含中文的pdf 方法
  15. 开发composer包,打通github和packagist,并自动更新
  16. 学习 razor pages 指南
  17. hdu-1052(贪心)
  18. php手撸轻量级开发(三)composer小白入门
  19. [USACO18DEC]Cowpatibility
  20. HTML基础【1】:认识 HTML

热门文章

  1. 6.python探测Web服务质量方法之pycurl模块
  2. WCF项目问题1-找不到类型“WCFService.Service1”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHostingEnvironment/serviceActivations 中提供。
  3. myeclipse自动化提示
  4. 基于任务的异步编程模式,Task-based Asynchronous Pattern
  5. Android AIDL--进程间通信
  6. springcloud 实现微服务间调用
  7. C# 读取Text文本,写入Text文本
  8. Google Earth 8.0
  9. vs2015+opencv3.3.1 实现 c++ 直方图均衡化
  10. conda install 安装太慢怎么办?