1、 序号: 学号: * 课 程 设 计 设计课程名称: C 语言课程设计 题 目: 数字图像处理几何变换 1 学 生 姓 名: * 学 院(系): * 专 业 班 级: * 指 导 教 师: * 专业技术职务: * 设计时间: * 年 *月 * 日 * 年 * 月 * 目录目录 1 1、系统的意义以及主要功能、系统的意义以及主要功能 . 2 1.1 系统的意义 . 2 1.2 图像的功能 . 2 2 2、整个系统的功能结构图以及调用关系、整个系统的功能结构图以及调用关系 2 3 3、各个功能实现流程图、各个功能实现流程图 2 3.1 彩色图像变成灰度图像 2 3.2 几何变换之-旋转 . 3 3
2、.3 几何变换之-镜像 . 3 4 4、调试运行,程序的界面以及输入数据,以及输出结果、调试运行,程序的界面以及输入数据,以及输出结果. 4 4.1 原图 . 4 4.2 彩色图像变为灰度图像 4 4.3 灰度图像水平镜像 . 4 4.4 灰度图像垂直镜像 . 5 4.5 彩色图像水平镜像 . 5 4.6 彩色图像垂直镜像 . 5 4.7 灰度图像旋转(48) . 6 4.8 彩色图像旋转(90) . 6 5 5、使用说明、使用说明. 6 6 6、C C 语言源程序代码语言源程序代码 7 7 7、心得体会、心得体会. 12 8 8、实习日志、实习日志. 13 9 9、参考文献、参考文献. 13
3、 1 1 1 1、系统的意义以及主要功能系统的意义以及主要功能 1.1 系统的意义 目前图像处理的应用越来越广泛,已经渗透到工业、航空航天、军事等各领域,在 国民经济中发挥越来越大的作用 1.2 图像的功能 读入一幅彩色的数字图像,完成一系列的几何运算,并输出每个运算的效果图 1.将彩色图像变为灰度图像 2.将灰度图像旋转任意角度;并对彩色图像进行相应旋转 3.将灰度图像和彩色图像进行水平镜像和垂直镜像 2 2、整个系统的功能结构图以及调用关系、整个系统的功能结构图以及调用关系 3 3、各个功能实现流程图、各个功能实现流程图 3.1 彩色图像变成灰度图像 主函数 彩色图像变灰度图像 几何变换之
4、镜像 几何变换之旋转 开始 读入一张彩色图 像 赋予变量图像性息 指针 开辟新空间 图像遍历是否结束 均值法求灰度 输出图像 指向下一像素点 是 否 灰度图像 彩色图像 灰度图像 彩色图像 对灰度图像进行 旋转 对彩色图像进行 垂直镜像 水平镜像 3.2 几何变换之-旋转 3.3 几何变换之-镜像 2 2 3 3 是 是 是 否 否 否 输入彩色图 彩色还是灰度图 赋予变量图像性息 开辟新空间 图像元素遍历是否结 束 输入灰度图 旋转对应代码 结束 开始 输入彩色图 彩色还是灰度图 赋予变量图像性息 开辟新空间 图像元素遍历是否结 输入灰度图 镜像对应代码 结束 开始 否 是 4 4、调试运行
5、,程序的界面以及输入数据,以及输出结果、调试运行,程序的界面以及输入数据,以及输出结果 4.1 原图 4.2 彩色图像变为灰度图像 4.3 灰度图像水平镜像 4 4 4.4 灰度图像垂直镜像 4.5 彩色图像水平镜像 4.6 彩色图像垂直镜像 5 5 4.7 灰度图像旋转(48) 4.8 彩色图像旋转(90) 5 5、使用说明、使用说明 编译链接后出现对话框和原始图片,按任意键即可在对话框中输入,根据对话框提 示输入数字完成对应功能,出现功能图像按任意键摧毁窗口,即可继续输入完成对应功 能。输入 0 结束变换,按任意键退出对话框。 6 6 6 6、C C 语言源程序代码语言源程序代码 #include “mydll.h“ #include #include #include #include #define PI 3.14159265 void main() double maxa(double a,double b);/最大值 void hd(int wide,int height,unsigned char*pdata,unsigned char*gray); /灰度 void spjx(int wide,int height,unsigned char*pdata,int numcolors); /水平镜像 void czjx(int wide,int hei