BMP图像处理.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BMP图像处理

摘要 几何变换是最常见的图像处理手段,通过对变形的图像进行几何校正,可以得出准确的图像。常用的几何变换功能包括图像的平移、图像的镜像变换、图像的转置、图像的缩放、图像的旋转等等。目前数字图像处理的应用越来越广泛,已经渗透到工业、航空航天、军事等各个领域,在国民经济中发挥越来越大的作用。 本文是利用Visual C++编程工具设计一个完整的应用程序,实现图像几何变换的功能。程序大概分为两大部分:读写BMP图像和图像的几何变换。即首先用Visual C++创建一个应用程序框架,在实现任意BMP图像的读写,打印,完成图像几何变换功能。 关键字:图像处理 几何变换 BMP图像 Visual C++ 目录 摘要 I 1.需求分析 1 1.1 BMP图像处理开发背景 1 1.2 BMP图像处理程序的开发目的 1 2.相关知识 2 2.1Visual C++简述 2 2.2将Visual C++应用于数字图像的几何变换 2 2.3 灰度图 2 2.4 GDI位图 3 2.4.1 从资源中装入GDI位图 4 2.4.2 伸缩位图 4 2. 5 DIB访问函数 4 3 详细设计 6 3.1文件的读取 6 3.1.1文件读取的程序 6 3.1.2读写DIB的程序流程图: 7 3.2.图像的平移 7 3.2.1.图像平移的理论 7 3.2.2图像平移动的程序 8 3.2.3图像平移的流程图 10 3.2.4程序执行平移操作的界面 11 3.3图像的旋转 11 3.3.1图像旋转的理论 11 3.3.2图像旋转的程序 12 3.3.3图像旋转的流程图 14 4 程序运行结果 15 4.1读取一个文件 15 4.2执行图像的平移 15 4.3执行图像旋转 16 5致谢 18 6 参考资料 19 1.需求分析 随着网络的普及,网络生活也无时不刻不伴随着我们。利用网络看新闻,电视节目,浏览网页等等。各大网站为了吸引更多的访问者往往会以新颖的图像来吸引我们,因此各种图片处理的软件业受到了广大用户的欢迎。 在这些软件当中最受欢迎的还是photoshop,他提供了很全面的图像处理选项,并且支持多种图像格式,被广泛运用在了商业和生活中。 这些图像处理的软件重在美化图片,使其更加有吸引力和欣赏性,可以按我们的意愿随意改变图像的大小,颜色,样式等丰富了图像的视觉效果。 1.1 BMP图像处理开发背景 为了给观看者更深刻的印象,关于图片处理的软件业受到了大家的欢迎和喜爱。这次课程设计是要完成一个BMP图像处理程序,其中可以对图片进行90度的改变和锐化处理。同时也借助这个程序对C++有更深的理解。 1.2 BMP图像处理程序的开发目的 这次课程设计是要完成一个BMP图像处理的软件,其中包括对文件的读取保存和修改(图像的反转和锐化)。 读取文件中的图片:可以对文件中的图片进行读取,在修改后也可以保存修改后的文件。 对图片进行处理:运用指针和模板等对图像可以进行翻转和锐化。 2.相关知识 2.1Visual C++简述 Visual C++(简称VC)是微软公司提供的基于C/C++的应用程序集成开发工具。VC拥有丰富的功能和大量的扩展库,使用它能有效的创建高性能的Windows应用程序和Web应用程序。VC的优越性主要表现在以下几个方面: 开发分布式应用。 开发的应用程序运行效率高、具有健壮性。 能缩短软件升级周期。 能够生成多线程应用,而多线程应用对于增加并发响应有实际意义。 VC除了提供高效的C/C++编译器外,还提供了大量的可重用类和组件,包括著名的微软基础类库(MFC)和活动模板类库(ATL),因此它是软件开发人员不可多得的开发工具。 2.2将Visual C++应用于数字图像的几何变换 VC丰富的功能和大量的扩展库,类的重用特性以及它对函数库、DLL库的支持能使程序更好的模块化,并且通过向导程序大大简化了库资源的使用和应用程序的开发,正由于VC具有明显的优势,因而我选择了它来作为数字图像几何变换的开发工具。 在本程序的开发过程中,VC的核心知识、消息映射机制、对话框控件编程等都得到了生动的体现和灵活的应用。 2.3 灰度图 灰度图(Grayscale)是指只含亮度信息,不含色彩信息的图像。因此,要表示灰度图,就需要把亮度值进行量化。通常划分为0到255共256个级别,0最暗(全黑),255最亮(全白)。 BMP格式的文件中并没有灰度图这个概念,但是可以很容易的用BMP文件来表示灰度图。方法是用256色的调色板,只不过这个调色板有点特殊,每一项的RGB值都是相同的。也就是说RGB值从(0,0,0),(1,1,1)一直到(255,255,255)。(0,0,0)是全黑色,(255,255,255)是全白色,中间的是灰色。对于R=G=B的色彩,带入YIQ或

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档