windows程序设计报告-bmp图像处理程序设计

上传人:小** 文档编号:57143031 上传时间:2018-10-19 格式:DOC 页数:26 大小:1.05MB
返回 下载 相关 举报
windows程序设计报告-bmp图像处理程序设计_第1页
第1页 / 共26页
windows程序设计报告-bmp图像处理程序设计_第2页
第2页 / 共26页
windows程序设计报告-bmp图像处理程序设计_第3页
第3页 / 共26页
windows程序设计报告-bmp图像处理程序设计_第4页
第4页 / 共26页
windows程序设计报告-bmp图像处理程序设计_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《windows程序设计报告-bmp图像处理程序设计》由会员分享,可在线阅读,更多相关《windows程序设计报告-bmp图像处理程序设计(26页珍藏版)》请在金锄头文库上搜索。

1、设计题目:BMP 图像处理程序设计学生姓名课程名称Windows 程序设计课程设计专业班级地 点起止时间设 计 内 容 及 要 求编写一个简单的图像处理软件,可以显示 BMP 格式的图像,可对 BMP 图 像做几何变换,如向左旋转 90 度,向右旋转 90 度,旋转 180 度。可以对 BMP 格式的图像做简单的锐化处理。设 计 参 数1、 只处理非压缩 32 位真彩色位图。 2、 至少可处理 2048*1536 大小的图像。 3、 该程序可以是单文档程序,也可以是多文档程序。进 度 要 求2010.6.28 星期一、完成任务的讲解、并接受课程设计任务,选定课程设计的题目 2010.6.29

2、星期二、了解任务的算法、并画出算法的程序流程图 2010.6.30 星期三、对任务的关键技术进行验证、并确定解决办法 2010.7.1 星期四、完成编程任务。 2010.7.2 星期五、编写课程设计报告、课程设计答辩,交课程设计报告。 参 考 资 料1 王艳平.Windows 程序设计.北京:人民邮电出版社.2008 2 姚领田.精通 MFC 程序设计. 北京:人民邮电出版社.2007其 它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一 份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在 设计内容、参数、要求等方面应有所区别。教研室主任: 指导

3、教师: 2010 年6月27日Windows 程序设计课程设计报告I摘要BMP(Bitmap-File)图形文件是 Windows 采用的图形文件格式,在 Windows 环境下运行的所有图象处理软件都支持 BMP 图象文件格式。Windows 系统内部各图像绘制操作都是以 BMP 为基础的。BMP 位图文件默认的文件扩展名是*.bmp。位图文件可看成由 4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、调色板(color table)和定义位图的字节阵列,它具有如下所示的形式。 此次设计是用 VisualStu

4、dio6.0 制作而成,利用了 MFC 库设计的一个 WINDOWS 界面的程序。运行此可执行文件后即可使用,使用方法和所有的 windows 窗口程序一样的方便。可以对图片进行几何变换:如在 X 轴上和 Y 轴上的平移,按任意角度旋转,对图片进行倍数缩放;可以对图片进行点处理:如对图片灰度拉伸直方图和直方图均衡处理。值得注意的是注意:本程序还只是支持 256 色 BMP 位图图像的处理,你可以用本程序附带的测试图来进行试验。关键字: :BMP 位图 几何变换 图像平滑 锐化Windows 程序设计课程设计报告II目录摘要 I 目录 .II 1设计内容及要求 .1 1.1 设计内容 .1 1.

5、2 设计要求 .1 2概要设计 .2 2.1 程序流程图 .2 2.2 功能模块调用 .3 3详细设计 .4 3.1 BMP 文件结构 .4 3.1.1 位图文件头4 3.1.2 位图信息头 .4 3.1.3 调色板 .5 3.1.4 位图数据 .6 3.2 BMP 图的新建、打开和保存 .6 3.3 位图的几何变形.8 3.3.1 图像的缩放8 3.3.2 图像的平移.11 3.3.3 图像的旋转.12 3.4 图像的平滑 13 3.5 图像的锐化 14 4程序测试 15 4.1 开始界面 15 4.2 文件读取 15 4.3 图像缩放 16 4.4 图像平移 17 4.5 图像旋转 19

6、4.6 高斯平滑 19 4.7 锐化 20 5总结 22 致谢 .23 参考文献 .24Windows 程序设计课程设计报告11设计内容及要求1.1 设计内容设计内容编写一个简单的图像处理软件,可以显示 BMP 格式的图像,可对 BMP 图像做几何变换,如图像平移,顺时针旋转 90 度,逆时针旋转 90 度,旋转 180 度。可以对BMP 格式的图像做简单的锐化处理。1.2 设计要求设计要求编写一个简单的图像处理软件要求:1对 BMP 图打开2对 BMP 图进行存储3对 BMP 图按 X 轴或 Y 轴进行平移4旋转 BMP 图片5按倍数缩放图片6在 WINDOWS 界面中保存打开图片的历史记录

7、7、只处理非压缩 32 位真彩色位图。8、至少可处理 2048*1536 大小的图像。9、该程序可以是单文档程序,也可以是多文档程序。Windows 程序设计课程设计报告22概要设计2.1 程序流程图程序流程图开始界面载入图片BMP 图片图像处理文件操作保存图像缩放图像平移图像旋转图像平滑图像锐化 结束(1)OnMenuite m_LEFT() (2)OnMenuite m_RIGHT() (3)OnMenuite m_UP() (4)OnMenuite m_DOWN() (1)(1)OnMenuite m_SHUN() (2)OnMenuite m_NI()OnMenuite m_PINGH

8、 UA()OnMenuite m_RUIHU A()获取操作256 色位图保存修改图 2.1 程序流程图(1)OnMenuitem_ SUOXIAO() (2)OnMenuitem_ FANGDA()Windows 程序设计课程设计报告32.2 功能模块调用功能模块调用BMP 图像处理图像基本操作图像的几何处理图像的平滑图 像 打 开图 像 保 存图 像 缩 放图 像 平 移图 像 旋 转图像的锐化图 2.2 功能模块调用图Windows 程序设计课程设计报告43详细设计3.1 BMP 文件结构文件结构 3.1.1 位图文件头位图文件头位图文件头包含有关于文件类型、文件大小、存放位置等信息,在

9、 Windows 3.0以上版本的位图文件中用 BITMAPFILEHEADER 结构来定义: typedef struct tagBITMAPFILEHEADER /* bmfh */ UINT bfType; DWORD bfSize; UINT bfReserved1; UINT bfReserved2; DWORD bfOffBits; BITMAPFILEHEADER; bfType 说明:文件的类型(该值必需是 0x4D42,也就是字符BM) ;bfSize 说明:文件的大小,用字节为单位;bfReserved1 保留,必须设置为 0;bfReserved2 保留,必须设置为 0;

10、bfOffBits 说明:从文件头开始到实际的图象数据之间的字节的偏移量。这个参数是非常有用的,因为位图信息头和调色板的长度会根据不同情况而变化,所以你可以用这个偏移值迅速的从文件中读取到位数据。3.1.2 位图信息头位图信息头 位图信息用 BITMAPINFO 结构来定义,它由位图信息头(bitmap-information header)和调色板(color table)组成,前者用 BITMAPINFOHEADER 结构定义,后者用RGBQUAD 结构定义。BITMAPINFO 结构具有如下形式: typedef struct tagBITMAPINFO /* bmi */ BITMAP

11、INFOHEADER bmiHeader;Windows 程序设计课程设计报告5RGBQUAD bmiColors1; BITMAPINFO; bmiHeader 说明:BITMAPINFOHEADER 结构,包含了有关位图的尺寸及位格式等信息bmiColors 说明:调色板 RGBQUAD 结构的阵列,其中包含索引图像的真实 RGB 值。BITMAPINFOHEADER 结构包含有位图文件的大小、压缩类型和颜色格式,其结构定义为:typedef struct tagBITMAPINFOHEADER /* bmih */ DWORD biSize; LONG biWidth; LONG biH

12、eight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; BITMAPINFOHEADER;3.1.3 调色板调色板 调色板包含的元素与位图所具有的颜色数相同,象素的颜色用 RGBQUAD 结构来定义。对于 24-位真彩色图象就不使用调色板(同样也包括 16 位、和 32 位位图) ,因为位图中的 RGB 值就代表了每个象素的颜色。

13、调色板中的颜色按颜色的重要性排序,这可以辅助显示驱动程序为不能显示足够多颜色数的显示设备显示彩色图象。RGBQUAD 结构描述由 R、G、B 相对强度组成的颜色,定义如下: typedef struct tagRGBQUAD /* rgbq */ BYTE rgbBlue; BYTE rgbGreen; BYTE rgbRed; BYTE rgbReserved; RGBQUAD; rgbBlue 指定蓝色强度rgbGreen 指定绿色强度Windows 程序设计课程设计报告6rgbRed 指定红色强度rgbReserved 保留,设置为 03.1.4 位图数据位图数据 紧跟在调色板之后的是图

14、象数据字节阵列。图象的每一扫描行由表示图象象素的连续的字节组成,每一行的字节数取决于图象的颜色数目和用象素表示的图象宽度。扫描行是由底向上存储的,这就是说,阵列中的第一个字节表示位图左下角的象素,而最后一个字节表示位图右上角的象素。 (只针对与倒向 DIB,如果是正向 DIB,则扫描行是由顶向下存储的) ,倒向 DIB 的原点在图像的左下角,而正向 DIB 的原点在图像的左上角。同时,每一扫描行的字节数必需是 4 的整倍数,也就是 DWORD 对齐的。如果你想确保图像的扫描行 DWORD 对齐,可使用下面的代码:(width*biBitCount)+31)5)SetScrollSizes(MM

15、_TEXT, m_sizeDoc);return b;BOOL CMyDIPDoc:OnSaveDocument(LPCTSTR lpszPathName) /保存/ TODO: Add your specialized code here and/or call the base classCFile nFile;if(m_hDIB = NULL)return false;nFile.Open(lpszPathName,CFile:modeWrite | CFile:modeCreate);SaveDIB(m_hDIB, nFile);nFile.Close();return true;Wi

16、ndows 程序设计课程设计报告8/return CDocument:OnSaveDocument(lpszPathName);3.3 位图的几何变形位图的几何变形 3.3.1 图像的缩放图像的缩放此程序是固定的缩放率,能够根据输入的参数对图像进行缩放。缩放分为 X 轴上的缩放和 Y 轴上的缩放。缩放的参数是按照 fXZoomRatio = 1;fYZoomRatio = 1;的基础来设置参数的,缩小则其参数 fXZoomRatio = 1; fYZoomRatio = 1;如果查打开的图片不是 256 色的 BMP 图系统就会提示错误,不允许操作。其代码如下:void CMyDIPView:OnMenuitem_SUOXIAO()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号