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或o,程序提示输入图像文件路径,回车后,读取指定图像文件。 返回值:要求返回错误码,0-为读取成功。 程序流程:1)读取图像文件头,得到行、列、波段数、排列方式、数据类型等信息;2)动态分配图像数据内存,文件IO读取二进制流。
功能描述:在控制台输入字符I或i,若图像已经打开,输出图像相关统计信息。 返回值:错误则输出错误信息,成功则输出图像信息。 程序流程:1)若图像文件打开,则输出图像路径行、列、波段数、排列方式、数据类型等信息到控制台。输出内容有:
路径:c:\test.img 行: 400 列: 400 波段:6 …
功能描述:在控制台输入字符C或c,关闭当前打开的文件。
返回值:错误则返回错误信息,正确,返回0。
程序流程:释放图像数据存储空间。
功能描述:在控制台输入字符X或x,程序退出。
返回值:返回0。
程序流程:释放所有对象,程序退出。
功能描述:在控制台输入字符?,程序输出菜单信息。
返回值:返回0。
程序流程:显示菜单信息。
功能描述:在控制台输入字符A或a,提示输入另存文件路径,写数据文件。
返回值:错误-错误信息;正确-返回success。
程序流程:1)写二进制流文件。
功能描述:在控制台输入字符S或s,输出当前图像文件的统计信息;图像文件未打开,则返回提示信息。
返回值:错误-错误信息/正确-返回success。
程序流程:1)遍历图像数据;2)统计相关信息(均值、方差、最大值、最小值)
功能描述:在控制台输入字符H或h,输出当前图像的直方图信息;图像文件未打开,则返回提示信息。
返回值:错误-错误信息/正确-返回success。
程序流程:1)遍历图像各个波段数据;2)统计直方图
功能描述:在控制台输入字符R或r,提示输入旋转角度(0-360°),将图像逆时针旋转指定角度。
返回值:返回0。
程序流程:1)输入旋转角度(0—360°);2)旋转图像。
功能描述:在控制台输入字符Z或z,提示输入缩放比例,缩放图像。
返回值:返回0。
程序流程:1)输入缩放比例;2)执行图像缩放。
功能描述:在控制台输入字符F或f,提示输入滤波核,执行图像卷积。
返回值:返回0。
程序流程:1)输入滤波核;2)执行图像卷积。