1.算法功能简介
小波变换是一种信号的时间——尺度分析方法,具有多分辨率分析的特点,而且在时频两域都具有表征信号局部特征的能力,是一种窗口大小固定不变但其形状可变,时间窗和频率窗都可变的时频局部化分析方法。即在低频部分具有较高的频率分辨率和时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率,很适合探测正常信号中夹带的瞬态反常现象并展示其成分,被誉为分析信号的显微镜。
PIE SDK支持算法功能的执行,下面对小波变换算法功能进行介绍。
2.算法功能实现说明
2.1. 实现步骤
第一步
|
算法参数设置
|
第二步
|
算法执行
|
第三步
|
结果显示
|
2.2. 算法参数
算法名称
|
小波正变换
|
C#算法DLL
|
PIE.CommonAlgo.dll
|
C#算法名称
|
PIE.CommonAlgo.TransformFuncAlgo
|
参数结构体
|
DataTrans_Exchange_Info
|
参数说明
|
AlgoType
|
Int
|
区分调用的是哪个算法
0 主成分变换
1 最小噪声变换
2 傅里叶变换
3 小波变换
4 缨帽变换
|
bForward
|
Bool
|
区分正变换还是逆变换
true 正;false 逆
|
m_strInputFile
|
String
|
输入文件
(*.tif;*.tiff;*.bmp;*.img;*.jpg;*.ldf)
|
m_strOutputFile
|
String
|
输出文件
(*.tif;*.tiff; *.img)
|
m_strFileTypeCode
|
String
|
输出文件类型,默认GTiff
.tif/.tiff——GTiff
.img—————HFA
其他—————ENVI
|
2.3. 示例代码
项目路径
|
百度云盘地址下/PIE示例程序/10.算法调用/图像处理/ImageProcessing. TransformFuncAlgo
|
数据路径
|
百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif
|
视频路径
|
百度云盘地址下/PIE视频教程/10.算法调用/图像处理/小波变换算法a.vi
|
示例代码
|
//(一)小波正变换
/// <summary>
/// 小波正变换算法测试,本算法实现了将World.tif进行小波正变换
/// </summary>
public override void OnClick()
{
#region 1、参数设置
PIE.CommonAlgo.DataTrans_Exchange_Info info = new PIE.CommonAlgo.DataTrans_Exchange_Info();
info.m_strInputFile = @"D:\Data\World.tif";
info.m_strOutputFile = @"D:\Data\ip_result9.tif";
info.AlgoType = ; //小波变换
info.bForward = true; //正变换
info.m_strFileTypeCode = "GTiff";
PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.TransformFuncAlgo");
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);
int code = -;
string msg = string.Empty;
algo.GetErrorInfo(ref code, ref msg);
//3、结果显示
ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\ip_result9.tif");
m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
//(二)小波逆变换
/// <summary>
///小波逆变换算法测试,本算法实现了将ip_result8.tif进行小波逆变换
/// </summary>
public override void OnClick()
{
#region 1、参数设置
PIE.CommonAlgo.DataTrans_Exchange_Info info = new PIE.CommonAlgo.DataTrans_Exchange_Info();
info.m_strInputFile = @"D:\Data\waveletTransform.tif";
info.m_strOutputFile = @"D:\Data\ip_result9.tif";
info.AlgoType = ; //小波变换
info.bForward = false; //逆变换
info.m_strFileTypeCode = "GTiff";
PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.TransformFuncAlgo");
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);
int code = -;
string msg = string.Empty;
algo.GetErrorInfo(ref code, ref msg);
//3、结果显示
ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\ip_result9.tif");
m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
|
2.4.示例截图
小波正变换
小波逆变换
最新文章
- 字符串转数字_atoi_stringstream
- 超炫数字特效动画AE模板
- HDU 2222 AC自动机模板题
- javascript 深拷贝
- json 处理
- .net上传图片并转成二进制流
- 微信小程序视频地址
- Contoso 大学 - 10 - 高级 EF 应用场景
- Java 代码性能优化
- [转]使用Openssl的AES加密算法
- Chrome 62 的大坑:修改密码后始终使用保存的旧密码登录
- ffmpeg批量实现视频转码命令行
- 4、flask之分页插件的使用、添加后保留原url搜索条件、单例模式
- Linux 桌面玩家指南:08. 使用 GCC 和 GNU Binutils 编写能在 x86 实模式运行的 16 位代码
- ng7 设置http proxy
- meter命令行模式运行,实时获取压测结果 (没试过 说不定以后要用)
- 14 python初学(高阶函数 递归函数 内置函数)
- javaScript 二分查找
- 20145203盖泽双 《网络对抗技术》实践八:Web基础
- MySQL数据分组Group By 和 Having
热门文章
- 详解servlet的url-pattern匹配规则.RP
- datagrid 自定义 pager
- 游戏中遇到的BUG
- 以太坊系列之十三: evm指令集
- 阿里 RPC 框架 DUBBO 初体验
- javascript webstorm用法
- 【[APIO/CTSC2007]动物园】状压DP
- BeanShell Processor_使用Java处理脚本
- memcached 和 redis 安装
- MD5和SHA-1