PIE SDK图像镜像

 

1.算法功能简介

    图像镜像可生成图像的水平镜像、垂直镜像和水平垂直镜像。水平镜像是图像以垂直中线为轴, 将图像左右半部对调;垂直镜像是图像以水平中线为轴,将图像上下半部对调。

    PIE支持算法功能的执行,下面对图像镜像算法功能进行介绍。

2.算法功能实现说明

2.1. 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2. 算法参数

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo.ImageMirrorAlgo

参数结构体

ImageMirror_Exchange_Info

参数说明

InputFilePath

String

输入文件

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

OutputFilePath

String

输出文件路径

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

MirrorType

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.算法调用/多功能工具/ FundamentalToolDemo.ImageMirrorDemo

数据路径

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

视频路径

百度云盘地址下/PIE视频教程/10.算法调用/多功能工具/影像格式转换算法.avi

示例代码

 1          /// <summary>
 2         ///图像镜像算法测试,本算法实现了将World.tif进行水平镜像生成World6.tif文件
 3         /// </summary>
 4         private void Test_KrigingInterpolationAlgo()
 5         {
 6             #region 1、参数设置
 7             PIE.CommonAlgo.ImageMirror_Exchange_Info info = new PIE.CommonAlgo.ImageMirror_Exchange_Info();
 8             info.InputFilePath = @"D:DataWorld.tif";
 9             info.OutputFilePath = @"D:DataWorld6.tif";
10             info.MirrorType = 0;
11             info.FileTypeCode = "GTiff";
12             info.LowBands = new List<int> { 0,1,2 };
13 
14             PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.ImageMirrorAlgo");
15             if (algo == null) return;
16 #endregion
17             //2、算法执行
18             PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
19             algo.Name = "图像镜像";
20             algo.Params = info;           PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo);           
21             //3、结果显示
22 ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:DataWorld6.tif");
23             m_HookHelper.ActiveView.FocusMap.AddLayer(layer);            m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);         
24                     }
View Code

2.4. 示例截图

 

原文地址:https://www.cnblogs.com/PIESat/p/10156911.html