1.算法功能简介

  图像直方图描述了图像中每个亮度值DN的像元数量的统计分布。它通过每个亮度值的像元数除以图像中总得像元数,即频率直方图。在很多遥感应用中,直方图是遥感图像中所包含的信息的一种有用的图示。每个波段的直方图能提供关于原始图像质量的信息,如其对比度的强弱,是否多峰值等。

  下面介绍如何用PIE实现直方图统计分析,主要有两种方法,一个是直接调用PIE.Dataset.DatasetFactory类的ExecuteHistogramStatistics方法进行执行;另一种是直接调用PIE的直方图统计界面进行执行,两种区别在于第一种方法可以获取执行的统计信息,第二种只能作为界面的显示,不能获取界面执行后的统计信息。

2.算法功能实现说明

2.1 实现思路

第一步

调用DatasetFactory.ExecuteHistogramStatistics(….)执行直方图统计功能

第二步

设置参数以便传到第一步的算法中

第三步

结果显示

2.2 示例代码

数据路径

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

示例代码

 /// <summary>
/// 直方图统计法
/// </summary>
public void HistogramStatistic()
{
//1、第一种方法
#region DatasetFactory类中的方法
string filePath = @"D:\data\China1\world\World.tif";//统计的数据路径
int band = ;//统计的波段编号(从0开始) 注意 索引号不能超过波段数
IList<double> listValue = new List<double>();//非统计值
float ratio = 100F;//采样比例 double max = ;//统计最大值
double min = ;//统计最小值
double median = ;//统计中值
double mode = ;//统计众值
double mean = ;//统计平均值
double dev = ;//统计标准差
double k = ;//峰值
double s = ;//偏度
uint numOfPixel = ;//总像素数
IDictionary<double, int>[] mapGray = new Dictionary<double, int>[];//统计直方图数据(256的数组) bool result = DatasetFactory.ExecuteHistogramStatistics(filePath, band, listValue, true, true, ratio, true, ref max, ref min, ref median, ref mode, ref mean, ref dev, ref k, ref s, ref numOfPixel, mapGray);
if (!result) return; string info = string.Format("数据{9}的第{10}波段的直方图统计信息:\r\n最大值:{0};\r\n最小值:{1};\r\n中值:{2};\r\n众值:{3};\r\n平均值:{4};\r\n标准差:{5};\r\n峰值:{6};\r\n偏度:{7};\r\n总像素值:{8};\r\n ", max, min, median, mode, mean, dev, k, s, numOfPixel, filePath, band + );
MessageBox.Show(info, "直方图统计信息");
#endregion //2、第二种方法
#region 调用界面显示 和第一种方法有所区别,该界面只能用于显示参数不能获取界面上的统计信息
//PIE.AxControls.HistogramStatDialog frmSupervisedClassificaiton = new AxControls.HistogramStatDialog();
//frmSupervisedClassificaiton.Initialize(m_HookHelper.FocusMap);
//frmSupervisedClassificaiton.ShowDialog(); //(frmSupervisedClassificaiton as IDisposable).Dispose();
//frmSupervisedClassificaiton = null;
#endregion
}

2.3 示例截图

图1第一种方法结果

图2:调界面显示结果(第二种方法)

PIE SDK直方图统计法的更多相关文章

  1. PIE SDK Command&&Tool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

  2. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  3. PIE SDK 距离分类和最大似然分类

       1.算法功能简介 监督分类,也叫训练场地法.训练分类法,是遥感图像分类的一种,用被确认类别的样本像元去识别其他未知类别像元的过程.监督分类算法有平行算法.平行六面体法.最小距离法.最大似然法.马 ...

  4. PIE SDK与OpenCV结合说明文档

    1.功能简介 OpenCV是基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 ...

  5. PIE SDK影像坏线修复

    1.算法功能简介 坏条带的由来:2003年5月31日,Landsat-7ETM+机载扫描行校正器(SLC) 故障,导致此后获取的影像出现了数据条带丢失,严重影响了Landsat ETM遥感影像的使用. ...

  6. PIE SDK与GeoServer结合说明文档

    1.  GeoServer简介 GeoServer是OpenGIS Web服务器规范的J2EE实现的社区开源项目,利用GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新.删除.插入操 ...

  7. PIE SDK组件式开发综合运用示例

    1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发 ...

  8. PIE SDK地图范围设置

    1.功能简介 地图范围设置主要就是对图层的地图浏览控制,例如地图的放大.缩小.漫游.全图显示.1:1视图.比例尺等功能,能更好的与地图有一个互动的地图浏览体验.PIE SDK对地图范围设置主要利用IC ...

  9. PIE SDK屏幕坐标和地图坐标转换

    1. 功能简介 屏幕坐标和地图坐标转换,就是字面意思,将电脑屏幕的坐标转换为带有空间信息的地图坐标,主要运用PIE SDK地图控件的ToMapPoint()方法,而地图坐标转换为设备坐标(屏幕),用的 ...

随机推荐

  1. C语言之++和--

    #include<stdio.h> int main(void) { int a; a = ; printf("a++ = %d\n", a++); printf(&q ...

  2. jmeter压测学习8-压测带token的接口

    前言 工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口. 比如我现在要压测一个修改用户的个人信息接口,每个用 ...

  3. 解决在linux下编译32程序出现“/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录问题”

    centos64位编译32位代码,出现/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录,需要安装32位的glibc库文件. 安装 ...

  4. C#基础操作符详解(下)

    书接上文的基本操作符,下文介绍的是其他操作符: 4.2一元操作符: 只要有一个操作数跟在它后面就可以构成表达式,也叫单目操作符. ①&x和*x操作符(很少见有印象即可): 这两个操作符同样也需 ...

  5. Subversion简介(一)

    Subversion 就是一款实现版本控制的工具软件,通常也称为版本控制器,简称 SVN. Subversion 是 Apache 软件基金会组织下的一个项目. SVN 的工作原理:采取客户端/服务器 ...

  6. c#中几种数据结构

    数组型: Array:内存连续分配,长度不可变,可索引访问. ArrayList:早期版本使用,非泛型,类型不安全,如果元素数据类型不同可考虑使用. List<>:泛型,可变长度,内存连续 ...

  7. Mysql对表中 数据 的操作 DML

    上一知识点回顾: mysql的备份: 直接使用navicat进行备份 转储SQL文件:有结构和数据/ 仅结构 两种 需要还原时 单击 数据库名字  运行SQL文件  创建表ctreate 修改表alt ...

  8. alarm()函数的使用总结

    alarm()函数说明 1.引用头文件:#include <unistd.h>; 2.函数标准式:unsigned int alarm(unsigned int seconds); 3.功 ...

  9. ASP.NET开发实战——(五)ASP.NET MVC & 分层

    上一篇文章简要说明了MVC所代表的含义并提供了详细的项目及其控制器.视图等内容的创建步骤,最终完成了一个简单ASP.NET MVC程序. 注:MVC与ASP.NET MVC不相等,MVC是一种开发模式 ...

  10. 搭建 Web 网站常用技能

    为软件创建专用数据库及其账号 create database if not exists gitea default charset = utf8mb4; grant ALL PRIVILEGES o ...