PIE SDK图像旋转

 

1.算法功能简介

    图像旋转可使图像以中心点为轴沿特定方向旋转指定的角度。

   PIESDK支持算法功能的执行,下面对图像旋转算法功能进行介绍。

2.算法功能实现说明

2.1 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2 算法参数

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo.ImageRotationAlgo

参数结构体

ImageRotation_Exchange_Info

参数说明

InputFilePath

String

输入文件

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

OutputFilePath

String

输出文件路径

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

RotationType

Int

旋转类别(顺时针旋转:0;逆时针旋转:1)

RotationAngle

Int

旋转角度(0-360度)

FuncName

String

功能名称

FileTypeCode

String

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

.tif/.tiff——GTiff

.img—————HFA

其他—————ENVI

LowBands

IList<Int>

输出旋转影像的波段(至少选择一个波段,{ 0, 1, 2, 3 })

2.3示例代码

项目路径

百度云盘地址下/PIE示例程序/ FundamentalToolDemo.ImageRotationDemo ()

数据路径

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

视频路径

百度云盘地址下/PIE视频教程/图像旋转算法avi

示例代码

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

2.4示例截图

  

猜你喜欢

转载自www.cnblogs.com/PIESat/p/10156962.html