OOPCPP

Learn C++ Programming Language

This project is maintained by cugwhp

计算机高级语言课程设计


题目

编写一个遥感图像处理控制台程序,要求在控制台上输入字母菜单,执行相应的功能。要求用类对象,实现主体功能。其功能菜单如下:

序号 功能菜单 功能 备注
00 X – Exit 退出程序 必做
01 O – Open Image 输入图像文件路径,即可读入文件数据 必做
02 I – Information 输出当前图像的路径,行列值、波段数、数据类型、排列方式等 必做
03 C –Close Image 关闭当前图像 必做
04 S – Statistics 输出图像数据统计量,文件未打开,输出提示 必做
05 H – Histogram 输出图像的直方图 必做
06 ? – Help 输出本信息 必做
07 A – Save as File 输入保存的文件路径,输出图像为二进制文件 选做
08 R – Rotate Image 图像旋转,输入旋转角度,逆时针旋转图像 选做
09 Z – Zoom 图像缩放,输入缩放比例尺,输出缩放图像 选做
10 F - Filter 输入滤波核,执行滤波,输出滤波后图像 选做

功能描述

以下功能描述均在程序启动之后的描述。

O – Open Image

功能描述:在控制台输入字符Oo,程序提示输入图像文件路径,回车后,读取指定图像文件。 返回值:要求返回错误码,0-为读取成功。 程序流程:1)读取图像文件头,得到行、列、波段数、排列方式、数据类型等信息;2)动态分配图像数据内存,文件IO读取二进制流。

I – Information

功能描述:在控制台输入字符Ii,若图像已经打开,输出图像相关统计信息。 返回值:错误则输出错误信息,成功则输出图像信息。 程序流程:1)若图像文件打开,则输出图像路径行、列、波段数、排列方式、数据类型等信息到控制台。输出内容有:

路径:c:\test.img
行: 400
列: 400
波段:6
…

C –Close Image

功能描述:在控制台输入字符Cc,关闭当前打开的文件。

返回值:错误则返回错误信息,正确,返回0。

程序流程:释放图像数据存储空间。

X – Exit

功能描述:在控制台输入字符Xx,程序退出。

返回值:返回0。

程序流程:释放所有对象,程序退出。

?– Help

功能描述:在控制台输入字符?,程序输出菜单信息。

返回值:返回0。

程序流程:显示菜单信息。

A – Save as File

功能描述:在控制台输入字符Aa,提示输入另存文件路径,写数据文件。

返回值:错误-错误信息;正确-返回success。

程序流程:1)写二进制流文件。

S – Statistics

功能描述:在控制台输入字符Ss,输出当前图像文件的统计信息;图像文件未打开,则返回提示信息。

返回值:错误-错误信息/正确-返回success。

程序流程:1)遍历图像数据;2)统计相关信息(均值、方差、最大值、最小值)

H – Histogram

功能描述:在控制台输入字符Hh,输出当前图像的直方图信息;图像文件未打开,则返回提示信息。

返回值:错误-错误信息/正确-返回success。

程序流程:1)遍历图像各个波段数据;2)统计直方图

R – Rotate Image

功能描述:在控制台输入字符Rr,提示输入旋转角度(0-360°),将图像逆时针旋转指定角度。

返回值:返回0。

程序流程:1)输入旋转角度(0—360°);2)旋转图像。

Z – Zoom

功能描述:在控制台输入字符Zz,提示输入缩放比例,缩放图像。

返回值:返回0。

程序流程:1)输入缩放比例;2)执行图像缩放。

F – Filter

功能描述:在控制台输入字符Ff,提示输入滤波核,执行图像卷积。

返回值:返回0。

程序流程:1)输入滤波核;2)执行图像卷积。

课设报告要求

附录