1. 算法功能简介

空间域滤波实在图像空间( x、 y)对输入图像应用滤波函数(核、模板)来改进输出图像的处理方法,主要包括平滑和锐化处理,强调像素与其周围相邻像素的关系,常用的方法是卷积运算。

空间域滤波属于局部运算,随着采用的模板窗口的扩大,空间域滤波的运算量会越来越大。

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

2. 算法功能实现说明

2.1. 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2. 算法参数

算法名称

常用滤波

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 })

2.3. 示例代码

项目路径

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

数据路径

百度云盘地址下/PIE示例数据/栅格数据/01.GF1/GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tiff

视频路径

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

示例代码

          /// <summary>
/// 常用滤波算法测试,本算法实现了将GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tiff进行常用滤波,滤波类别为高通边缘检测滤波 3×3,输出影像的波段为全部波段
/// </summary>
public override void OnClick()
{
#region 1、参数设置
PIE.CommonAlgo.StImageCommonInfo info = new PIE.CommonAlgo.StImageCommonInfo(); info.InputFilePath = @"D:\Data\GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tiff";
info.XMLFile = @"D:\Data\GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.xml";
info.OutputFilePath = @"D:\Data\ip_result13.tif";
info.FilterCommonType = ;
info.FileTypeCode = "GTiff";
info.LowBands = new List<int> { ,,, }; PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.ImgProFiltCommonAlgo");
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_result13.tif");
m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.4. 示例截图

PIE SDK常用滤波的更多相关文章

  1. PIE SDK均值滤波

    1.算法功能简介 均值滤波是最常用的线性低通滤波,它均等地对待邻域中的每个像素.对于每个像素,取邻域像素值的平均作为该像素的新值.均值滤波算法简单,计算速度快,对高斯噪声比较有效.从频率域的角度看,相 ...

  2. PIE SDK定向滤波

    1. 算法功能简介 定向滤波又称为匹配滤波,是通过一定尺寸的方向模板对图像进行卷积计算,并以卷积值代替各像元点灰度值,强调的是某一些方向的地面形迹,例如水系.线性影像等. 方向模板是一个各元素大小按照 ...

  3. PIE SDK自定义滤波

    1.算法功能简介 自定义滤波可以自由设置滤波模板,对数据进行处理,自定义滤波器的一般规则要求: ( 1) 滤波器的大小应该是奇数,这样它才有一个中心,例如 3x3, 5x5 或者 7x7.有中心了,也 ...

  4. PIE SDK频率域滤波

    1.算法功能简介 频率域滤波的基本工作流程为:空间域图像的傅里叶变换→频率域图像→设计滤波器→傅里叶逆变换→其他应用. 低通滤波,对频率域的图像通过滤波器削弱或抑制高频部分而保留低频部分的滤波方法,可 ...

  5. PIE SDK中值滤波

    1.算法功能简介 中值滤波是一种最常用的非线性平滑滤波器,它将窗口内的所有像素值按高低排序后,取中间值作为中心像素的新值. 中值滤波对噪声有良好的滤除作用,特别是在滤除噪声的同时,能够保护信号的边缘, ...

  6. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  7. PIE SDK Command&&Tool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

  8. PIE SDK组件式开发综合运用示例

    1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发 ...

  9. PIE SDK ISODATA分类

    1.算法功能简介 ISODATA(IterativeSelf-OrganizingDataAnalysisTechniqueAlgorithm)即迭代式自组织数据分析技术, 其大致原理是首先计算数据空 ...

随机推荐

  1. Terminologies in MVC: Part 2 (Razor Engine Syntax vs Web Form)

    By Abhishek Jaiswal :) on Mar 21, 2015 In this article we learn about Razor Engine Syntax vs Web For ...

  2. Vim编码知识,乱码问题

    原文:http://demi-panda.com/2012/12/26/vim-encoding/ 在vim的初始学习阶段,乱码经常是困扰新手的一个比较烦躁的问题,本文试图阐述Vim的编码知识,及设置 ...

  3. 企业管理系统——第三周需求&原型改进_张正浩,黄锐斌

    企业管理系统——需求&原型改进,架构设计,测试计划 组员:张正浩,黄锐斌 一.需求&原型改进 1.给目标用户展现原型,与目标用户进一步沟通理解需求 我们的目标用户是公司管理员 场景:随 ...

  4. [vscode] github travis 集成问题

    问题log $ npm install -npm ERR! 404 Not Found npm ERR! 404 npm ERR! 404 'types/mocha' is not in the np ...

  5. C#帮助类:Base64

    public class Base64 { #region Base64加密 ///<summary> ///Base64加密 ///</summary> ///<par ...

  6. 「BZOJ1000」A+B Problem

    写这个主要是为了凑\(BZOJ\)题解用的,不用在意.跳过即可 \(Code\) #include<bits/stdc++.h> using namespace std; int main ...

  7. BumpMap、NormalMap的区别

    原文:http://linuxtest.blog.163.com/blog/static/199927088201275102145354/   一种是Emboss Bump Map(浮雕凹凸贴图), ...

  8. Spring boot进阶-配置Controller、interceptor...

    1.配置SpringBootApplication(对spring boot来说这是最基本) package io.github.syske.springboot31; import org.spri ...

  9. springMVC 学习笔记(一):springMVC 入门

    springMVC 学习笔记(一):spring 入门 什么是 springMVC springMVC 是 spring 框架的一个模块,springMVC 和 spring 无需通过中间整合层进行整 ...

  10. J2EE 的体系结构

    J2EE 即Java2平台企业版,它提供了基于组件的方式来设计.开发.组装和部署企业应用.J2EE使用多层分布式的应用模型,这个多层通常通过三层或四层来实现: 1.客户层,运行在客户计算机上的组件.  ...