PIE SDK栅格拉伸控制

 

1. 功能简介

    在我们的实际应用中,对于一般16bit或者更大比特深度的影像,像元值都是大于255的。这种情况下,RGB的显示器是不能够直接使用像元值进行显示的,需要将像元值换算到0~255的区间内以用于显示。常用的增强方式是通过拉伸来增大栅格显示的视觉对比度,以生成一副更清晰的影像,从而使某些要素变得更容易识别。

    常用的拉伸方式包括标包括最常见的标准差(Standard Deviation),最大最小值( Minimum–Maximum),直方图均衡( Histogram Equalize)等等。对于不同栅格数据情况,应选择最适合其的拉伸方式。

2. 功能实现说明

2.1. 实现思路及原理说明

第一步

获取栅格图层的Render并进行接口转换。

第二步

设置拉伸类型。

第三步

根据拉伸类型进行参数设置。

第四步

触发渲染改变事件,重新绘制。

2.2. 核心接口与方法

接口/类

方法

说明

 

 

Carto. IRasterStretch

StretchType

栅格拉伸类型属性

LinearStretchPercent

拉伸百分比属性

SetMinimumMaximum

设置指定波段拉伸显示的最大值、最小值

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/07图层渲染/11.栅格拉伸控制

数据路径

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

视频路径

百度云盘地址下/PIE视频教程/07图层渲染/11.栅格拉伸控制.avi

示例代码

 1 方法(一)百分比拉伸
 2   if (mapControlMain.ActiveView.CurrentLayer == null) return;
 3     //获取待拉伸的图层
 4     IRasterLayer rasterLayer = mapControlMain.ActiveView.CurrentLayer as IRasterLayer;
 5     if (rasterLayer == null)
 6         return;
 7     //获取拉伸对象
 8     IRasterRender render = rasterLayer.Render;
 9     IRasterStretch stretch = render as IRasterStretch;
10     //设置拉伸类型
11     stretch.StretchType = PIE.Carto.RasterStretchType.RasterStretch_PercentMinimumMaximum;
12     stretch.LinearStretchPercent = 4.0;
13     rasterLayer.RaiseRenderChanged();
14     //刷新地图
15  mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
16 
17 方法(二)标准差拉伸
18   if (mapControlMain.ActiveView.CurrentLayer == null)   return;
19     //获取待拉伸的图层
20     IRasterLayer rasterLayer = mapControlMain.ActiveView.CurrentLayer as IRasterLayer;
21     if (rasterLayer == null)  return;
22     //获取拉伸对象
23     IRasterRender render = rasterLayer.Render;
24     IRasterStretch stretch = render as IRasterStretch;
25     //设置拉伸类型
26     stretch.StretchType = PIE.Carto.RasterStretchType.RasterStretch_StandardDeviations;
27     rasterLayer.RaiseRenderChanged();   mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
View Code

2.4. 示例截图

(一)4%拉伸效果图

 

(二)标准差拉伸效果

 

posted @ 2018-12-24 11:19  PIESAT  阅读(1219)  评论(0编辑  收藏  举报