1、引言
1.1、编写目的
本说明书是在充分理解系统需求分析和研究进行概要设计基础上,为了对系统支撑环境和各个部件信息等说明,同时也是与用户进行交流的文档之一。
本阶段已在系统的需求分析和概要设计报告基础上,对该软件做概要设计。主要是解决各个模块的实现方式和方法,同时也对系统的支撑环境进行一个详细的说明
本文档的读者为系统用户,软件设计师(详细设计),程序开发员,测试人员,维护人员等。
1.2、背景
A. 项目名称:遥感数字图像处理系统。
B. 本系统属于遥感数字影像的处理软件,主要用于遥感影像的辐射处理,几
何处理,增强处理,特征提取,分割,分类等功能的实现。
C. 开发人:张卓尔。
项目开发环境:Visual Studio 2017
Microsoft Windows 10
1.3、参考资料
一、《计算机软件工程规范国家标准汇编》,中国标准出版社,2000.7.包含以下标准:
GB/T 11457-1995 《软件工程术语》;
GB/T 8566-1995 《信息技术 软件生存期过程》;
GB/T 8567-1988 《计算机软件产品开发文件编制指南》;
GB/T 1526-1989 《信息处理产品数据流程图的文件编制符号及约定》;
GB/T 9385-1988 《计算机软件需求说明编制指南》。
二、遥感数字影像处理导论,机械工业出版社,2018.4.
1.4、术语定义及说明
DN值:影像某个像素点的灰度值。
K-L变换:Karhunen-Loeve Transform,一种主成分变换方式。
2、设计概述
2.1、任务和目标
要完成一个遥感数字图像处理系统,需要能进行遥感影像的打开,关闭,不同波段组合显示,能实现遥感影像的辐射处理,增强处理,影像融合,影像分割,影像监督、非监督分类,影像配准,无人机影像粗校正,影像特征提取等功能。并且在进行每一步操作完成后,可以将成果图保存为用户指定的图片格式,并加以显示。
本系统所选用的硬件环境,包括各种机型,详细信息描述如下:
用户环境
- 硬件环境: Intel Pentuim4 2.0GHz CPU以上
硬盘:20GB以上
内存:256MB DDR266 以上
- 软件环境: Windows XP及以上操作系统
1.本软件支持的遥感影像格式有:
- Erdas Imagine (*.img);
- GeoTiff (*.tif *.tiff);
- Portable Network Graphics (*.png);
- JPEG (*.jpg *.jpeg);
- Graphics Interchange Format (*.gif);
- 位图文件 (*.bmp)|*.bmp;
- Spot DIMAP (metadata.dim);
- NITF (*.ntf *.nsf)。
2.影像增强中的直方图匹配必须确保两张图像的波段数目相同。
主要使用了HIPO图方法、E-R图,数据流程图、业务流程图。
3、系统详细需求分析
3.1、详细需求分析
作为遥感数字图像处理系统,必须能实现遥感图像的基本处理方式,包括感影像的辐射处理,增强处理,影像融合,影像分割,影像监督、非监督分类,影像配准,无人机影像粗校正,影像特征提取等功能。同时,要能很好地管理和调用影像数据为影像操作做准备。
1、易用性指标分析。本遥感数字图像处理系统设计与开发的目的是为了方便专业人员对不同类细心遥感影像的处理过程,所以系统必须贴近实际的应用流程,尽量符合用户的操作习惯,真正做到帮助用户提高影像处理效率。同时还应该考虑到不同操作者的计算机水平不同,在系统的设计时要注重易用性,使大多数的使用者都可以较好地使用系统。
2、可扩展性指标分析。本遥感数字图像处理系统目前的设计是以当前需求为目标的,但是由于对遥感影像处理的内容,方法,形式都在不断发生变化,所以必须要考虑到系统的扩展性问题,要达到增加新功能模块时不会对原有系统架构和功能模块造成太大影响的目标,同时又能够根据实际需求的变化对系统的功能进行扩展。
3、系统健壮性指标分析。系统的健壮性也包括系统的稳定性,功能强大的系统如果在运行的过程中时常出现问题,也会对用户造成较大的困扰,所以必须要提高系统的稳定性。同时,用户在对系统进行操作时,由于各种原因会进行误操作,或者输入错误的数据等,系统应能够对这些情况进行处理,系统应保证个别模块出现问题不会对其他模块造成影响。
3.2、详细系统运行环境及限制条件分析接口需求分析
本系统使用了以下接口或库:
- Math.Net。该接口是一个矩阵运算库,用于矩阵的加,减,乘,求逆,转置等运算。
- GDAL。遥感影像读取所必须的基本库。
4、总体方案确认
4.1、系统总体结构确认
为开发方便,对以上系统综合分析,可以按功能类型对其进行重新分类,可以将本系统分为八大子模块,分别是:
1.影像管理模块
本系统为遥感影像处理系统,所以必须能够正确地打开指定格式的遥感影像并读取其中我们所需的信息并加以使用。本模块用于管理遥感影像,包括以下几个功能:
- 打开影像,将影像数据读取到内存,在主窗口显示并添加至左侧树状栏 内。若像素灰度值超过255,则进行最大值最小值拉伸显示。
- 关闭影像,关闭当前选择的影像,若没有选择默认选择第一张影像作为 关闭对象,若没有打开任何影像则进行提示。
- 改变影像波段显示组合,用户通过选择影像哪几个波段作为R,G,B值 进行显示,改变显示组合,呈现不同的效果。
- 显示影像信息,用户可以查看影像的信息,包括影像位置,影像大小, 影像波段数据,影像坐标系,影像仿射变换参数等。
- 图像处理功能前的图像选择,用户进行任何影像操作时,均需要通过该 功能选择特定数量,特定要求的影像进行相应的影像操作。
- 影像重采样,将影像重采样为用户需求的大小。
- 影像对比,通过调节不透明度,观察两张影像之间的差异。
2.影像辐射处理模块(与影像增强处理分开)
包括影像的辐射定标功能,用户输入定标参数,自动进行辐射定标处理,生成结果图,保存到用户指定位置并在主窗体进行显示。
3.影像增强模块
影像增强用于改善图像的视觉效果,提高图像的清晰度,可以将图像转换成一种更适合于人或机器进行解译和分析处理的形式,并且可以压缩图像数据量,突出主要信息等,主要包括以下几种增强方式:
- 最大值最小值增强,根据遥感影像最大灰度值与最小灰度值的关系,将 影像灰度值拉伸至0-255范围内。
- 直方图均衡化,将遥感影像的直方图展平。
- 直方图匹配,基于直方图均衡化,将一张遥感影像的直方图与另一张遥 感影像进行匹配,使其直方图趋势表现趋近一致。
- 锐化与滤波,根据特定的算子,对影像进行操作。
4.影像融合模块
多源影响融合是将同一环境或对象的多源遥感影像数据综合的方法或工具的框架,以获得满足某种应用的高质量信息,产生比单一信息源更精确、更完全、更可靠的估计和判决。将多种不同特征的数据(包括遥感和非遥感空间数据)结合起来,不仅扩大了各数据的应用范围,而且提高了分析精度、应用效果和实用价值。该模块包括四种影像融合方法:
- Brovey变换融合,将多光谱图像的像元分解为色彩和亮度,简化了图像 转换过程,保留了多光谱数据的信息,同时提高了融合图像的视觉效果。
- 加权融合,基于波段相关性,通过多源遥感影像像元加权的方法对两个 波段影像进行融合。
- IHS变换融合,把影像的亮度、色调(度)和饱和度分开,影像融合只在亮 度通道上进行,影像的色调和饱和度保持不变。
- K-L变换融合,通过主成份变换得到影像间不相关的,更容易被解译的各波段信息,并通过成分替代的方法进行影像融合。
5.影像光谱特征分析模块
用户可以根据此模块了解到影像某个点或者某个剖面的光谱特征。并可以提取影像特征点(主要为角点)和计算植被覆盖指数(系统菜单栏其他功能内)。
6.影像分割模块
遥感影像分割是指根据灰度、彩色、纹理等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内,表现出一致性或相似性,而在不同区域间表现出明显的不同。本模块包括以下几个功能:
- 影像前景背景分割,可以自动选取阈值,将图像分割为前景与背景,为 图像变化检测做铺垫。
- 影像边缘检测,可以搜索到图像内的边界并提取出来,为图像变化检测 做铺垫。
- 影像变化检测,基于影像分割与边缘检测,用户可以了解到两幅图片之 间的变化内容。
7.影像分类模块
很多时候,人们希望找出影像中各类地物地貌,并进行区分,可以直观地看出其差异与位置分布,这时候就需要进行影像的分类。影像分类主要分为两部分,监督分类与非监督分类:
- 监督分类,以人在影像上自我选择的兴趣区域为基准,将影像分类为相 应的类别。
- 非监督分类,随机产生聚类中心,判别其满足J-M距离要求后,依据用户选定的迭代次数,阈值,类别数目等进行自动分类。
8.影像几何处理模块
有时,由于摄影技术或设备问题或者其他原因,导致遥感图像上各地物的几何位置、形状、尺寸、方位等特征与在参照系统中的表达要求不一致,即说明遥感图像发生了几何畸变,需要对其进行校正,因此本模块包括以下两种处理方式:
- 无人机影像粗校正,用户通过输入摄像机参数,无人机旋转参数等,对 用户选择的影像进行粗校正,将其投影到正确的坐标系下。
- 手动配准,用户在正确影像与待配准影像上选择相应的控制点,对影像 进行较为精细地集合校正。
图4-1 遥感数字图像处理系统系统功能结构图
4.2、系统详细界面划分
图4-2应用系统与支撑系统的详细界面划分
图4-3详细界面划分
5、系统详细设计
由于该系统功能较为,复杂,将其分为以下几个模块:
表5-1 模块分类表
模块编号 | 模块名称 | 模块编号 | 模块名称 |
1 | 影像手动配准 | 6 | 影像分割 |
2 | 影像增强 | 7 | 影像光谱 特征显示 |
3 | 影像融合 | 8 | 辐射定标 |
4 | 影像分类 | ||
5 | 无人机影像 粗校正 |
模块编号:1
模块名称:影像手动配准
输入:待配准影像,用于配准的影像,保存路径
输出:配准完成图像
逻辑描述:
图5-1 影像手动配准模块逻辑
算法说明:
图5-2 影像手动配准模块算法说明
主要函数说明:
图5-3 影像手动配准函数说明
测试要点:鼠标右击添加控制点,刚弹出配准对话框时会有少许卡顿。
模块编号:2
模块名称:影像增强
输入:待操作影像,保存路径
输出:增强完成图像
逻辑描述:
图5-4 影像增强逻辑
算法说明:
图5-5 直方图均衡化算法说明 图5-6 最大值最小值拉伸算法说明
主要函数说明:
图5-7 影像增强函数说明
测试要点:直方图匹配需选择波段数目相同的影像进行测试。
模块编号:3
模块名称:影像融合
输入:全色影像,多光谱影像,保存路径
输出:融合完成图像
逻辑描述:
图5-8 影像融合逻辑
算法说明:
图5-9 IHS变换融合算法说明
图5-10 K-L变换融合算法说明
主要函数说明:
图5-11 影像融合函数说明
测试要点:无
模块编号:4
模块名称:影像分类
输入:待分类影像,保存路径
输出:分类完成影像
逻辑描述:
图5-12 影像分类逻辑
算法说明:
图5-13 K均值聚类算法说明
主要函数说明:
非监督分类实例类说明:
图5-14 非监督分类实例类说明
监督分类实例类说明:
图5-15 监督分类实例类说明
测试要点:监督分类时可以删除兴趣类,也可以删除兴趣类中的特定样本,但必须使用转到,转到要删除的样本。
模块编号:5
模块名称:无人机影像粗校正
输入:待校正影像
输出:校正影像
逻辑描述:
图5-16 无人机影像粗校正逻辑
算法说明:流程类似于手动配准算法,只是运用了共线条件方程。
主要函数说明:
图5-17 无人机影像粗校正函数说明
测试要点:输入的Xs,Ys为纬度,经度。
模块编号:6
模块名称:影像分割
输入:操作影像,保存路径
输出:分割完毕二值图
逻辑描述:
算法说明:
图5-20 迭代阈值分割法算法说明
主要函数说明:
图5-21 影像分割法方法说明
测试要点:迭代阈值分割法对于某些颜色值差异较大的图像的分割速度会慢于最大类间方差法。
模块编号:7
模块名称:影像光谱特征显示
输入:欲显示特征影像
输出:影像特征信息
逻辑描述:
图5-22 影像光谱特征显示逻辑
主要函数说明:
图5-23 影像光谱特征方法说明
测试要点:绘制直线时务必确保主窗口不在移动模式下。
模块编号:8
模块名称:影像辐射定标
输入:欲操作影像
输出:定标完成影像
逻辑描述:
图5-24 影像辐射定标逻辑
算法说明:略
函数说明:略
5.3、系统附属功能类详细设计
1.自定义控件
图5-25 Picture类
2.自定义非功能类
图5-28 ClassifySample类
图5-29 RGB类
5.4、用户界面设计
1.程序主界面
图 程序主窗口
左边树状栏用于显示波段信息,可以波段组合显示不同组合形式的图像。右边文本框用于显示影像信息。
2.菜单栏:
3.功能执行前的文件选择窗口,分为选择单幅影像选择窗口和选择多幅影选择像窗口。
图 单幅影像选择窗口
图 多幅影像选择窗口
4.显示光谱特征对话框。
5.显示剖面光谱特征对话框。可以通过下拉菜单选择要显示的波段剖面光谱特征信息。
6.监督分类兴趣区选择窗口。
7.重采样参数设置窗口。
8.无人机影像粗校正参数设置窗口。
9.辐射定标参数设置窗口。