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

示例代码

 方法(一)百分比拉伸
if (mapControlMain.ActiveView.CurrentLayer == null) return;
//获取待拉伸的图层
IRasterLayer rasterLayer = mapControlMain.ActiveView.CurrentLayer as IRasterLayer;
if (rasterLayer == null)
return;
//获取拉伸对象
IRasterRender render = rasterLayer.Render;
IRasterStretch stretch = render as IRasterStretch;
//设置拉伸类型
stretch.StretchType = PIE.Carto.RasterStretchType.RasterStretch_PercentMinimumMaximum;
stretch.LinearStretchPercent = 4.0;
rasterLayer.RaiseRenderChanged();
//刷新地图
mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 方法(二)标准差拉伸
if (mapControlMain.ActiveView.CurrentLayer == null) return;
//获取待拉伸的图层
IRasterLayer rasterLayer = mapControlMain.ActiveView.CurrentLayer as IRasterLayer;
if (rasterLayer == null) return;
//获取拉伸对象
IRasterRender render = rasterLayer.Render;
IRasterStretch stretch = render as IRasterStretch;
//设置拉伸类型
stretch.StretchType = PIE.Carto.RasterStretchType.RasterStretch_StandardDeviations;
rasterLayer.RaiseRenderChanged(); mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);

2.4. 示例截图

(一)4%拉伸效果图

(二)标准差拉伸效果

PIE SDK栅格拉伸控制的更多相关文章

  1. PIE SDK栅格增强控制

    1. 功能简介 亮度是指发光体(反光体)表面发光(反光)强弱的物理量:对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量:透明度是描述光线透过的程度 栅格数据增强控制主要是通过对亮 ...

  2. PIE SDK栅格拉伸渲染

    1. 功能简介 栅格数据拉伸渲染是对指定的波段进行图像拉伸,并设置拉伸之后的颜色带,根据像元值和颜色带进行数据渲染. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 实例化拉伸渲染对象示例 ...

  3. PIE SDK栅格数据集的读写

    1. 功能简介 栅格数据包含很多信息,在数据的运用中需要对数据的信息进行读取或写入,目前PIE SDK支持多种数据格式的数据读取和写入,下面对栅格数据格式的数据读写功能进行介绍. 2. 功能实现说明 ...

  4. PIE SDK栅格RGB渲染

    1. 功能简介 RGB色彩模式是一种颜色标准,是通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红.绿.蓝三个通道的颜色,这个标准几乎包 ...

  5. PIE SDK栅格图层渲染变化事件监听

    1. 功能简介 通过PIE SDK加载图层后,会默认的赋值给数据一个渲染.当用户重新给数据赋值Render或改变数据显示效果时,会触发渲染变化事件. 所谓的事件监听是在事件触发时,将执行用户指定的函数 ...

  6. PIE SDK栅格矢量化算法

    1.算法功能简介 栅格数据矢量化较为复杂,如果由一幅扫描的数字化地图来建立矢量数据库,则需要经过数字图象处理,如边缘增强.细化.二值化.特征提取及模式识别才能获得矢量数据.人们通常将多色地图分色后逐个 ...

  7. PIE SDK地图图层控制

    1. 功能简介 地图图层控制就是图层的相关操作,如地图图层数据的添加.删除.移动和拖拽等功能. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 图层添加是调用AddLayer方法将图层添加到 ...

  8. PIE SDK栅格分级渲染

    1.  功能简介 栅格数据分级渲染是根据不同的分级规则,对像元值进行等级划分:并通过对每一级设置不同的显示符号和标注信息,从而达到分级显示的效果. 2.功能实现说明 2.1. 实现思路及原理说明 第一 ...

  9. PIE SDK栅格生成等值线、面

      1.算法功能简介 等值线图能直观地展示数据的变化趋势,是众多领域展示成果的重要图建之一,被广泛应用于石油勘探.矿物开采.气象预报等众多领域.等值线的绘制是指从大量采样数据中提取出具有相同值的点的信 ...

随机推荐

  1. Mr_matcher的细节2

    1.参数服务器 ROS参数服务器能保存数据类型包括:strings, integers, floats, booleans, lists, dictionaries, iso8601 dates, a ...

  2. Part3_lesson3---ARM伪指令学习

    1.ARM机器码 对elf格式的文件进行反汇编可得到相应汇编文件的机器码: arm-linux-objdump -D -S start.elf 机器码的解析,可以参考文件ARM Architectur ...

  3. C/C++预处理指令常见的预处理指令

    C/C++预处理指令常见的预处理指令如下: #空指令,无任何效果 #include包含一个源代码文件 #define定义宏 #undef取消已定义的宏 #if如果给定条件为真,则编译下面代码 #ifd ...

  4. [LintCode笔记了解一下]39.恢复旋转排序数组

    思路: 1.需要O(n)的事件复杂度,所以多次循环不考虑 2.四步翻转法 -第一步,找到数组里最小的那个数字,因为是旋转排序数组,所以只要找到某个位置arr[i]>arr[i+1]的话,就找到了 ...

  5. Bitmap压缩到指定尺寸大小,获取圆角、圆形图片

    /** * 使用Matrix将Bitmap压缩到指定大小 * @param bitmap * @param w * @param h * @return */ public static Bitmap ...

  6. Partial关键字

    Partial关键词定义的类可以在多个地方被定义,最后编译的时候会被当作一个类来处理. 首先看一段在C#中经常出现的代码,界面和后台分离,但是类名相同. public partial class Fo ...

  7. 微信支付接入的总结 —— NATIVE & MWEB & JSAPI

    这段时间工作中需要对接微信支付,而且要多个端同时进行接入,web端,手机浏览器,微信浏览器,所以研究了下.不同场景选择合适的接入方式是必须的.https://pay.weixin.qq.com/wik ...

  8. numpy常用功能总结、python格式化输入输出

    #coding:utf-8 #author:徐卜灵 ##################### #由于在各大公司笔试的时候总是会遇到一些格式化输入输出数据,今天就来总结一下. #结合numpy来处理数 ...

  9. 伪元素改变date类型input框的默认样式实例页面

    CSS代码: ::-webkit-datetime-edit { padding: 1px; background: url(/study/image/selection.gif); } ::-web ...

  10. opencv学习笔记(五)----图像的形态学操作

    图像的形态学操作有基本的腐蚀和膨胀操作和其余扩展形态学变换操作(高级操作)-----开运算,闭运算,礼帽(顶帽)操作,黑帽操作...(主要也是为了去噪声,改善图像) 形态学操作都是用于处理二值图像(其 ...