1、I题目: BMP 图像处理软件的设计和实现BMP 图像处理软件的设计与实现摘 要随着时代的发展,科技的进步,一些简单的图片已经不能满足人们的需求。图像运用的扩大与对图像本身的精益求精,使人们越来越依赖于各种图像处理软件。各种图像处理软件也越来越完善,普及程度不断的提高。本文用 Visual C+作为开发工具,设计了一个 BMP 图像处理软件。该图像处理软件能够实现对 BMP 图像的基本操作,如图像的打开,关闭,保存;图像的基本处理,如图像放大、缩小、旋转、转置、二值化处理、中值滤波、边缘检测、直方图以及马赛克效果等等。论文首先分析了国内外图像处理软件的现状,以及发展趋势,之后详细地分析了本软件
2、的功能,完成了系统的总体设计和功能规划,进而对每个模块完成了详细设计和实现,最后完成了测试工作。结果表明,本系统能够完成要求的所有功能,软件具有友好的用户界面和良好的健壮性,具有一定的应用价值。关键词:Visual C+6.0;BMP ;图像处理;数字图像处理;图像处理软件IIDesign and Implementation of BMP Image Processing SystemAbstractWith the development of science, the simple pictures couldnt meet peoples demand. The magnificati
3、on of pictures usage and the ever delicated image of picture itself, has made people more and more rely on several of picture-processing software. And the popularization of these softwares is going higher and higher, with the progress made by themselves.I use Visual C+ development to build software
4、which is used to deal with BMP images. This software can carry out some base operations of BMP images, such as open, close and save; some base processes of BMP images, such as magnify, shrink, rotate, binary process, mid-value filter, edge-detect, cauterization of pictures and the mosaic effect. Thi
5、s paper at first analyzed status of picture-processing software both of domestic an foreign, and the developing trend,After analysis the function of this software in detail and completed the overall design of the system and function.And completed the detailed design and implementation of each module
6、, finally completed the testing work.The results show that the system can complete all the requirements of the function,the software has a friendly user interface and good robustness, and has certain application value.KEY WORDS:Visual C+6.0;BMP;picture-processing;Digital Image Processing;Image Proce
7、ssing SoftwareIII主要符号表列矩阵1211,.gmg横矩阵),()( Nff1)2,1(,1.,G,f 矩阵w 宽h 高 卷积算子 ffyx,梯度幅值)( jiR,拉氏算子),(2f拉普拉斯算子f2目录摘要 .IAbstract .II主要符号表 .III1 绪论 .11.1 本课题设计的背景 .11.2 本课题设计的目的和意义 .21.3 本课题国内外研究状况 .21.4 本课题研究的主要内容 .31.5 现有图像处理软件 .42 开发环境及主要技术介绍 .52.1 面向对象编程 .52.2 Visual C+ 6.0.62.2.1 Visual C+ 6.0 概述 .62.
8、2.2 Visual C+ 6.0 主要部分 .62.3 MFC .72.4 设备上下文 DC.82.5 数字图像处理基础 .92.5.1 数字图像概述 .92.5.2 图像处理概述 .102.5.3 图像的基本概念 .112.5.4 BMP 位图 .123 系统总体设计 .133.1 系统总体框架设计 .133.1.1 系统的总体框架设计如下 .133.1.2 系统流程图如下 .133.1.3 系统的模块设计 .144 系统详细设计与实现 .174.1BMP 文件结构 .174.1.1BMP 文件组成 .174.1.2BMP 文件头 .174.1.3BMP 信息头 .174.1.4BMP 颜
9、色表 .184.1.5BMP 图形数据 .184.2 CDib 类的设计 .194.3 文件操作 .214.3.1 打开图片 .214.3.2 保存图片 .214.4 几何变化 .214.4.1 镜像 .214.4.2 缩放 .224.4.3 图像转置 .224.4.4 图像旋转 .224.5 特效显示 .224.5.1 马赛克特效 .234.5.2 扩散效果 .234.5.3 平滑效果 .234.6 灰度变化 .234.6.1 反色变化 .234.6.2 黑白变化 .244.6.3 灰度变化 .244.7 分析变化 .254.7.1 边缘检测 .254.7.2 锐化处理 .254.7.3 霓
10、虹处理 .264.7.4 滤波处理 .264.7.5 曝光效果 .274.7.6 浮雕效果 .274.7.7 柔化效果 .275 系统测试 .285.1 测试目的 .285.2 测试效果 .285.2.1 文件操作 .295.2.2 几何变化 .305.2.3 特效显示 .335.2.4 灰度变化 .355.2.5 分析变化 .365.3 测试结论 .406 结论 .41参考文献 .42致 谢 .43毕业设计(论文)知识产权声明 .44毕业设计(论文)独创性声明 .45附 录 .461 绪论11 绪论1.1 本课题设计的背景从 80 年代中期以来,超大规模集成电路的发展,为图形学的飞速发展奠定
11、了物质基础。计算机的运算能力的提高,图形处理速度的加快,使得图形学的各个研究方向得到充分发展,图形学已广泛应用于各个领域,代表性的应用有:计算机辅助绘图及设计、事务管理中的交汇式绘图、科学计算可视化、过程控制、计算机动画及广告、计算机艺术、地形地貌和自然资源的图形显示、办公自动化及电子出版系统。把原始图像与计算机结合起来,从而创作出许多更加完美的图像,满足了人们的需求。计算机图像处理,是指利用计算机对图像进行一系列加工,以便获得人们所需要的效果。图像是人类获取和交换信息的主要来源,人类感知外界信息,80%以上是通过视觉得到的。因此,图像处理的应用领域必然涉及到人类生活和工作的方方面。随着时代的
12、进步,各种图像处理软件也越来越完善,人们对图像的应用和要求也越来越精益,为了给观看者更深刻的印象,关于图片处理的软件业收到了大家的欢迎和喜爱,所以图像处理软件能够更好的满足人们对图像的需求,其中可以对图片进行 90 度的改变和锐化处理。图像是人类获取信息、表达信息和传递信息的重要手段,图像处理应用广泛,图像处理软件 MATLAB 虽然能够对数字图像进行方便的处理,并且其制作的界面也比较友好,但是由于其过于庞大,移植性和速度方面也很难与VC+相比。另外,由于商业化的 VC+图像处理软件价格比较昂贵,而且不便于二次开发,本课题利用 VC+集成开发环境开发一套简单的图像处理软件系统。图像处理技术起源
13、比较早,但真正发展是在八十年代后,随着计算机技术的高速发展而迅猛发展起来。图像处理或图像分析方法的应用越来越广泛,其主要理论基础是形态数学,立体学,集合论等。图像处理或图像分析方法的应用越来越广泛,其主要理论基础是形态数学,立体学,集合论等。图像处理的应用领域很广,大致可以分为六大领域以及十余个子领域:1材料科学:光学材料、金属材料、晶体材料、陶瓷建筑材料2地学:岩矿结构、岩体裂隙特征、土体颗粒3生命科学:生物、植物、医学、基因4地理学:经济地理、土地资源、地貌、气像学5机器人:包括电路设计、识别等6鉴定:指纹鉴定、财务印章管理、防伪鉴定等1 绪论2常见的图像处理有图像数字化、图像编码、图像增
14、强、图像复原、图像分割3与图像分析等。经过处理后的图像,一定能够更好的被用于工业或者个人目的。为此开发这个数字图像处理软件,能够处理一些图像,并对图像处理技术此方面进行深入的研究。1.2 本课题设计的目的和意义目的:本次毕业设计是要完成一个 BMP 图像处理软件,其中包括对文件的读取保存和修改(图像的反转和锐化)。读取文件中的图片可以对文件中的图片进行读取,在修改后也可以保存修改后的文件,对图片进行处理主要是运用指针和模板等对图像可以进行翻转和锐化。BMP 图像处理软件是对 BMP 图像的基本操作,比如图像的打开、关闭、保存,主要是通过对图像中的每一个像素点运用各种图像处理算法来达到预期的效果
15、;BMP 图像的基本处理,图像的基本处理,如图像放大、缩小、旋转、转置、二值化处理等等。意义:图像对于人眼来说是模糊的甚至是不可见的,通过图象增强技术,可以使模糊甚至不可见的图像变得清晰明亮,通过图像处理中的技术,可以将人眼无法识别的图像进行分类处理,该技术已经广泛深入地应用于国计民生休戚相关的各个领域,更加满足人们对于图像的需求。1.3 本课题国内外研究状况麻省理工学院(MIT)旋风 I 号(Whirlwind I)计算机的附件诞生了。该显示器用一个类似于示波器的阴极射线管(CRT)来显示一些简单的图形。1958年美国 Calcomp 公司由联机的数字记录仪发展成滚筒式绘图仪,GerBer
16、公司把数控机床发展成为平板式绘图仪。在整个 50 年代,只有电子管计算机,用机器语言编程,主要应用于科学计算,为这些计算机配置的图形设备仅具有输出功能。计算机图形学处于准备和酝酿时期,并称之为:“被动式”图形学。从 1962 年,林肯实验室的 Sutherland 发表一篇题为“一个人机交互通信的图形系统”的博士论文,他在论文中首次使用计算机图形学“Computer Graphics”这个术语,证明交互计算机图形学是一个可行的、有用的研究领域,从而确定计算机图形学作为一个崭新的科学分支的独立地位屹立于计算机领域。此后,国内外都很重视图形学的发展以及研究,各种各样的图像处理软件显现出来,比如 P
17、hotoShop 和 Picasa。 70 年代是计算机图形学发展过程中一个重要的历史时期。由于光栅显示器的产生,在 60 年代就已萌芽的光栅图形学算法,迅速发展起来,区域填充、裁剪、消隐等基本图形概念、及其相应算法纷纷诞生,图形学进入第一个兴盛的时期,并开始出现实用的 CAD 图形系统。又因为通用、与设备无关的图形软件的发展,图形软件功能的标准化问题被提出来。1974 年,美国国家标准化局(ANSI )在 ACM SIGGRAPH 的一个与“与机器无关的图形技术”的工作会议4上,提出制定有关标准的基本规则。此后 ACM 专门成立一个图形标准化委员会,开始制定有关标准。该委员会于 1977、1
18、979 年先后制定和修改 “核心图形系统”(Core Graphics System)。ISO 随后又发布了计算机图形接口CGI(Computer Graphics Interface)、计算机图形元文件标准 CGM(Computer Graphics Metafile)、计算机图形核心系统 GKS(Graphics Kernel system)、面向程序员的层次交互图形标准 PHIGS(Programmers Hierarchical Interactive Graphics Standard)等。这些标准的制定,为计算机图形学的推广、应用、资源信息共享,起到重要作用。国内在此领域的研究中最
19、具有代表性的是梦幻科技推出的彩影图形处理和相片制作软件,彩影拥有非常智能、傻瓜而功能强大的图像处理、修复和合成功能。解决了国内外图像处理软件过于复杂、不易操作的问题,让所有用户不需要专业的图像美工技能即可轻松点击并制作出绚丽多彩的图像特效图。 新一代在线图像编辑软件 OPCOL 是国内领先的在线图像处理系统,它采用最新Flash 技术开发,不用下载任何插件,只需 flash10 的支持即可实现在线图片编辑,可无缝嵌入主流浏览器, 具有文件体积小速度快,兼容各种浏览器等特点;适于各种自动在线图片编辑的场合使用,是未来网站的一个新功能和亮点,满足您的创新需求,解决网站在线图片编辑难题。美国 Mat
20、hWorks 公司出品的 MATLAB 软件,功能十分强大,它主要应用于工程计算、信号处理与通讯、图像处理等领域。MATLAB 之所以称为世界流行的科学计算与数学应用软件,是因为它有着强大的矩阵运算和处理功能,具体表现在强大的数值计算功能、数据分析和科学计算可视化功能、强大的符号计算功能、强大的非线性动态系统建模和仿真功能、灵活的程序接口功能等方面。而数字图像处理与矩阵运算具有密切的联系,并且 MATLAB 图像处理工具箱提供了丰富的图像处理函数,熟练使用这些函数可以完成几乎所有的图像处理工作。应用 MATLAB 进行数字图像处理可以节省大量编写低层算法源代码的时间,避免程序设计中的重复劳动,
21、达到事半功倍的效果。另外,新版本的 MATLAB 在图形用户界面(GUI)的制作上作了很大的改善。 MATLAB 的不足之处是运行程序时需要安装有 MATLAB 系统,可移植性能差,应用不方便,执行速度慢。 Photoshop 是 Adobe 公司开发的世界上最优秀的平面图像处理软件之一,集图像扫描、编辑 修改、图像制作、广告创意,图像输入与输出与一体,在图像处理及平面设计领域里,Photoshop 一直都以界面美观,操作方便,在图像处理和电脑绘图软件领域里独占鳌头。Photoshop 的功能非常强大,它支持多种图像格式和颜色模式,能同时进行多色层处理。其绘画功能和选取功能能使图像编辑变得十分方便,图像变形功能可用来制作特殊的视觉效果。1.4 本课题研究的主要内容本课题主要研究如何利用 Visual C+ 集成开发环境开发一个图像处理软件。