欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于VC的图像处理软件模块设计讲解.docx

    • 资源ID:30777782       资源大小:576.65KB        全文页数:32页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于VC的图像处理软件模块设计讲解.docx

    1、基于VC 的图像处理软件模块设计讲解 本科生毕业论文(设计)题 目:基于VC+的嵌入网页图像处理软件模块设计 姓 名: 学 院: 工学院 专 业: 电子信息科学与技术 班 级: 信息84 学 号: 指导教师: 职称: 2012 年 5月 1 日目 录摘要: 1关键词: 1Abstract: 1Key words: 1引言 11论文概述 11.1课题的研究目的和意义 11.2国内外发展状况 21.3研究方法与手段 31.3.1 运行环境 31.3.2 开发环境 32图像处理相关技术概述 32.1 VC+6.0简介 32.2 VC+各类文件简介 42.3 MFC类库 43.图像处理软件的总体设计

    2、53.1 需求分析 53.2 图像处理软件的目标设计 53.3图像处理系统功能描述 54.图像设计基础 54.1图像基础 54.1.1数字图像的基本概念 54.1.2调色板 64.1.3调色板的概念 74.2 与设备无关位图(DIB) 74.2.1 DIB位图的结构 74.2.2 定义DIB处理函数集 84.2.3 CDib类的设计目标 115 数字图像处理 115.1图像处理的基本方法 125.2图像处理软件设计 135.2.1设计步骤和要点 135.2.2主界面设计 145.2.3菜单设计 155.2.4工具栏设计 165.3数字图像处理结果 166评估与结论 19致谢 20参考文献 21

    3、基于VC+的嵌入网页图像处理软件模块设计电子信息科学与技术专业学生 指导教师 摘要:随着计算机技术和网络技术的快速发展,社会生产力和精确农业技术也得到逐步发展,人们对农田除害智能识别技术的要求也越来越高,因此,需要将机器人技术计算机技术网络技术等应用于农田除害。该课题在windows XP平台上实现,采用Visual C+作为编程工具,采用面向对象的程序设计技术完成一个嵌入网页的图像处理(图像只要指农田害虫)的应用软件。图形方面主要是设计图形基类,以及继承图形基类的具体图形类。此外,通过对独立功能的封装,可以为今后需要的图形图像的应用奠定基础。系统的优点有:充分体现了面向对象的设计思想,充分运

    4、用了C+的特性,比如封装、继承、多态。程序结构清晰,可读性好,程序中做了充分的注释。关键词:Visual C+;图像处理;农田害虫; Based on VC+ image processing software module design of embedded webpageStudent majoring in Electronic and Information Science and Technology Tutor Abstract:With the rapid development computer technology and network technology, the d

    5、evelopment of social productive forces and the development of precision agriculture technology peoples demand of agricultural pest identification technology more and more high need to robotics technology, computer technology network used in agricultural pesticides. The topic realizes under the windo

    6、ws XP platform, use Visual C+ as a programming tool, use object-oriented programming techniques to achieve a image processing software. The graph aspect is designs the graph base class , as well as inherits the graph base classs specific graph class. Through independent functions encapsulation, for

    7、the futures needs of the graphic images lays the foundation. The system merit has: the object-oriented designs thought application of the C+ properties, for example encapsulation, polymorphism, and inheritance. Programs structure is clear, good readability, codes has the full annotation in the progr

    8、am. The graph plans part has avoided complicated structure of the traditional switch case. Easy expansion and transplantation.Key words: Visual C+;image processing;Agricultural pest;引言 数字图像处理( Digital Image Processing) 是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像处理中, 输入的是质量低的图像, 输出的是改善质量后的图像, 图像处理的方法多种多样, 一般可分为

    9、图像变换、图像增强和复原、图像分割、图像压缩编码、图像描述和图像识别等几类。目前,图像处理的应用领域已涉及到人们工作生活中的方方面面。 1论文概述1.1课题的研究目的和意义本文所介绍的数字图像处理系统是一款简单而又实用的灰度级图像处理软件, 是基于Windows 平台 的应用程序,利用Visual C+ + 6. 0 的编译环境提高了系统的开发速度,实现数字图像的查看与编辑操作1。应该说,目前已有种类繁多的图形图像处理专用软件工具,如AutoCAD、和PhotoShop等,利用这些图形图像处理软件可以实现同样的功能。即便如此,研究这些图形图像处理技术仍具有一定使用价值。首先,利用一个设计良好的

    10、简单的小图形处理程序可以用于教学演示的目的,展示基本的图形图像处理技术和面向对象技术在这一领域的应用效果。其次,在很多应用中需要提供自己的图形图像处理功能,例如,在一个正在连接网络的任务中可能就希望显示一幅示意性的动画,此时,不能依赖一个图形软件来实现。因此,通过对独立功能的封装,可以为今后需要的图形图像的应用奠定基础2。此外,借助Visual C+语言这种典型的面向对象编程环境,能够充分挖掘硬件的潜能,得到性能优良的程序代码。1.2国内外发展状况数字图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处

    11、理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。20世纪20年代,图像处理首次应用于改善伦敦和纽约之间海底电缆发送的图片质量。到20世纪50年代,数字计算机发展到一定的水平后,数字图像处理才真正引起人们的兴趣。1964年美国喷气推进实验室用计算机对“徘徊者七号”太空船发回的大批月球照片进行处理,收到明显的效果。20世纪60年代末,数字图像处理具备了比较完整的体系,形成了一门新兴的学科。20世纪70年代,数字图像处理技术得到迅猛的发展,理论和方法进一步完善,应用范围更

    12、加广泛。在这一时期,图像处理主要和模式识别及图像理解系统的研究相联系,如文字识别、医学图像处理、遥感图像的处理等。20世纪70年代后期到现在,各个应用领域对数字图像处理提出越来越高的要求,促进了这门学科向更高级的方向发展。特别是在景物理解和计算机视觉(即机器视觉)方面,图像处理已由二维处理发展到三维理解或解释。近年来,随着计算机和其它各有关领域的迅速发展,例如在图像表现、科学计算可视化、多媒体计算技术等方面的发展,数字图像处理已从一个专门的研究领域变成了科学研究和人机界面中的一种普遍应用的工具。图形与图像处理是计算机最早应用的领域之一,从简单的图形显示到复杂的图像分析、模式识别,使得图形与图像

    13、处理技术不断走向成熟,国内外也涌现出了大量的软件。例如,ACDSee、PhotoShop、CorelDraw等,这些软件提供了一般显示、特殊显示、特技处理等大量复杂的功能。图形处理技术得益于图形学的发展,而从目的上可以将图像处理技术分为两类,分别是图像识别技术和图像处理技术。针对图像处理技术,可以是旋转、亮度、对比度、饱和度、RGB调节、调节图像尺寸等属性方面的处理技术和添加文字、图像增强、弱化、水印、特效、镂空等处理方法。甚至为了达到更精微的处理效果,这些软件还使用了图层。随着网络和多媒体技术的发展和应用,体现在应用软件中的是一些更具有“现代感”的应用,例如,支持各种常用图形、RAW原始图片

    14、、Flash动画的快速浏览、编辑、保存、导入、导出,甚至还可以提供一些趣味涂鸦、字符素描之类的应用,以体现人的个性3。事实上,应用软件中常常需要采用其中的某些技术来处理相关的问题。例如,一个支持简单形状辅助设计的软件并不需要支持特效方面的方法。在软件设计的支撑环境和技术上,C+是一个很好的选择,这主要是考虑到如下因素,主要包括代码效率高,处理底层问题能力强,支持面向对象的程序设计方法。利用C+技术可以实现对程序代码和数据的良好封装,使之能够具有良好的重用性。1.3研究方法与手段1.3.1 运行环境运行环境主要介绍了硬件环境和软件环境。(1) 硬件环境 处理器:Inter Pentium 166

    15、 MX 或更高 内存:32MB或更高 硬盘空间:1GB或更高 显卡:SVGA显示适配器(2) 软件环境操作系统:Window 98/ME/2000/XP1.3.2 开发环境开发环境主要介绍了本系统采用的操作系统、开发语言。(1) 操作系统:Windows XP(2) 开发语言:C+(3) 开发环境:Visual C+ 6.02图像处理相关技术概述2.1 VC+6.0简介面向对象程序设计(Object-Oriented Programming,简称OOP)方法已出现近30年,在20世纪90年代己成为程序设计的主流方向。面向对象程序设计语言是现代程序开发的主要工具。程序包含两类基本的元素,即数据和

    16、操作数据的指令集(称为代码)。传统的程序设计语言以设计代码为核心,程序设计实际上就是指定程序指令的先后次序,数据表示必须适应代码的设计。模块化程序设计方法将完成某一功能的指令集组成一个相对独立的程序模块(即函数或过程),使得程序的结构清晰,便于有效的维护,对程序设计技术有很大的促进。但由于结构化程序设计方法并不能保证各程序模块之间真正的相互独立,程序设计者在设计一个模块时很难完全排除其他模块的影响。随着程序规模的增大,各模块之间的相互影响导致一些难于测试,难以定位发现的错误,增加了程序开发和维护的困难。面向对象程序设计方法主要以数据为中心,代码是围绕着需要处理的数据而设计的4。VC+6.0是M

    17、icrosoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C+语言的要求编写,并加入了微软提供的功能强大的MFC(Microsoft Foundation Class)类库。MFC中封装了大部分Windows API函数和Windows控件,它包含的功能涉及到整个Windows操作系统。MFC不仅给用户提供了Windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件,这样,开发人员不必从头设计创建和管理一个标准Windows应用程序所需的程序,而是从一个比较高的起点编程,故节省了大量的时间。另外,它提供了大量的代码,指导用户编程时实现某些技术和功能

    18、。因此,使用VC+提供的高度可视化的应用程序开发工具和MFC类库,可使应用程序开发变得简单5。2.2 VC+各类文件简介.dsw文件这种类型的文件在VC中级别是最高的,成为Workspace文件。在Workspace文件中可以包含多个Project,由Workspace文件对它们进行统一的协调和管理。.dsp文件以dsp为扩展名的文件中存放的是一个特定的工程,也就是特定的应用程序的有关信息,每个工程都对应有一个dsp类型的文件。.clw文件以clw为扩展名的文件是用来存放应用程序中用到的类和资源的信息的,这些信息是VC中的ClassWizard工具管理和使用类的信息来源。readme.txt文

    19、件对应每个应用程序有一个readme.txt文件,这个文件中列出了应用程序中用到的所有的文件信息,打开并查看其中的内容就可以对应用程序的文件结构有一个基本的认识。.h和.cpp文件在应用程序中大量应用的是以h和cpp为扩展名的文件,以h为扩展名的文件称为头文件;以cpp为扩展名的文件称为实现文件,一般说来h为扩展名的文件与以cpp为扩展名的文件是一一对应配合使用的,在h为扩展名的文件中包含的主要是类的定义,而在cpp为扩展名的文件中包含的主要是类成员函数的实现代码。.rc文件VC中以rc为扩展名的文件称为资源文件,其中包含了应用程序中用到的所有的windows资源,需要注意的是rc文件可以直接

    20、在VC集成环境中以可视化的方法进行编辑和修改6。2.3 MFC类库MFC,微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C+环境下编写应用程序的一个框架和引擎,VC+是Windows下开发人员使用的专业C+ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC+血肉相连的部分。微软基础类库由两部分组成:一是通常所说的C+类库,是MFC类库的主体部分,这些类构成了MFC应用程序框架。二是MFC预定义宏、全局变量和全局函数,是MFC类库的辅助部分

    21、,它们都是MFC进行Windows应用程序开发不可缺少的组成部分。MFC使得开发windows应用程序比以往任何时候都要容易,虽然我们要编写的应用程序在功能上千差万别,但是从本质上来讲,都可以划归为用户界面的设计,对文件的操作,多媒体的使用,数据库的访问等一些最主要的方面。这一点正是微软提供MFC类库最重要的原因,在这个类库中的某个对象能完成所需要的功能,这时我们只要简单地调用已有对象派生出我们自己的对象,这时派生出来的对象除了具有类库中的对象的特性和功能之外,还可以由我们自己根据需要加上所需的特性和方法,并根据需要来不断完善对象的功能。正是由于MFC编程方法充分利用了面向对象技术的优点,它使

    22、得我们编程时极少需要关心对象方法的实现细节,同时类库中的各种对象的强大的功能足以完成我们程序中的绝大部分所需的功能,这使得应用程序中程序员所需要编写的代码大为减少,有力地保证了程序的良好的可调试性。需要指出的是MFC类库在提供的对象的各种属性和方法都是经过谨慎的编写和严格的测试,可靠性很高,这就保证了使用MFC类库不会影响程序的可靠性和正确性。3.图像设计基础3.1图像基础3.1.1数字图像的基本概念人眼看到的任何自然界的图像都是连续的模拟图像,其形状和形态表现由图像各位置的颜色所决定。色度学理论认为,任何颜色都可由红(Red)、绿(Green)、蓝(Blue)3种基本颜色按不同的比例混合得到

    23、。红、绿、蓝被称为三原色,简称RGB三原色。因此,自然界的图像可用基于位置坐标的三维函数来表示,即 f(x,y,z)=(fred(x,y,z),fgreen(x,y,z),fblue(x,y,z) (3-1)其中f表示空间坐标为(x,y,z)位置点的颜色,fred、fgreen、fblue分别表示该位置点的红、绿、蓝3种原色的颜色分量值。它们都是空间的连续函数,即连续空间的每点都由一个精确的值与之相对应。为了研究的方便,主要考虑平面图像。平面上每一点仅包括两个坐标值。因此,平面图像函数是连续的二维的数,即 f(x,y)=(fred(x,y),fgreen(x,y),fblue(x,y) (3-

    24、2)图像可以分为黑白图像和彩色图像。所谓黑白图像,就是图像中每一点都不是彩色的,即每点的红、绿、蓝颜色分量值都相等,即 fred=fgreen=fblue (3-3)对于黑白图像,其f(x,y)表示(x,y)位置处的灰度值。由于计算机仅能处理离散的数据,所以如要用计算机来处理图像,连续的图像函数必须转化为离散的数据集,这一过程叫做图像采集7。图像采集由图像采集系统完成,如图3-1所示。图像采集系统包括3个基本单元,即成像系统、采样系统和量化器。图3-1 图像采集系统3.1.2调色板现实世界的颜色种类是无限的,但计算机显示系统所能表现的颜色数量是有限的。因此,为了使计算机能最好地重现实际图景,就

    25、必须采用一定的技术来管理和取舍颜色。按表现能力的不同,现代计算机的显示系统可以分为以下3种。(1) VGA:能用640480的分辨率同时显示16种颜色。(2) SuperVGA:能用640480的分辨率同时显示256种颜色(3) 真彩色:能同时显示16777216种颜色。所谓真彩色(True Color),是指显示出来的图像的颜色与真实世界中的颜色非常自然逼真、人眼难以区分它们的差别。通常使用RGB表示法来表现真彩色图像,即用3字节(24位)来表示个真彩色像素的颜色值,红、绿、蓝三原色的浓度分别用一字节(8位)来表示。Windows采用该方法来表现颜色,其SDK提供一个名为RGB的宏来将不同的

    26、R、G、B颜色值转化为24位的颜色值,其原型如下所示。 COLORREF RGB(BYTE bRed, BYTE bGReen, BYTE bBlue) (3-4)COLORREF是表示颜色值的数据类型,是一个32位的无符号长整数;bRed、bGreen和bBlue分别表示红、绿、蓝三原色的浓度,它们的类型是BYTE,长度是8位。其十六进制数据表示形式如下所示。 0x00bbggrr (3-5)字节rr、gg、bb比分别表示红、绿、蓝三原色的浓度,最高位字节为0,用于保留与将来的系统兼容8。3.1.3调色板的概念在真彩色系统中,每一个像素的值都用24位来表示。像素值与真彩色颜色值可以一一对应,

    27、所以像素值就是所表现的颜色位。但对于仅能同时显示16色或256色的系统,每一个像素仅能分别采用4位或8位来表示,像素值与真彩色颜色值不能一一对应,用像素值代表颜色值的方法将不能得到最佳的效果,而必须采用调色板技术。所谓调色板就是在16色或256色显示系统中,由图像中出现最频繁的16种或256种颜色所组成的颜色表。对这些颜色按4位或8位,即0至15或255进行编号,每一编号代表其中的一种颜色。这种颜色编号叫做颜色的索引号,4位或8位的索引号与24位的颜色值的对应表叫做颜色查找表。使用调色板的图像叫做调色板图像。它们的像素值并不是颜色值,而是颜色在调色板查找表中的索引号9。为了保证Windows的

    28、基本显示界面的一致性,Windows保留了一个有20种颜色的内部系统调色板,用来绘制窗口的图标、边界和按钮等通用界面。该调色板在所有的显示设置中都保持不变。在16色的显示系统中,系统调色板通过16种颜色的抖动来产生其余4种颜色。在256色的显示系统中,Windows也保持该20种颜色的次序,其余的236种颜色由当前的调色板分配10。3.2 与设备无关位图(DIB)Windows3.1以上版本提供了对设备无关位图DIB的支持。DIB位图可以在不同的机器或系统中显示位图所固有的图像。与DDB相比而言,DIB是一种外部的位图格式,经常存储为以.BMP为后缀的位图文件(有时也以DIB为后缀)。DIB位

    29、图还支持图像数据的压缩11。大多数图像处理都是基于与设备无关位图(DIB)来进行讨论的,而MFC中没有处理DIB位图的类,这就给编程带来了很大困难。所以需要建立一个处理DIB位图的专用类,CDIB类,在其中封装必要而有效的处理函数。3.2.1 DIB位图的结构DIB位图文件的结构如图3-2所示,包括位图文件头结构BITMAPEHEADER、位图信息头结构BITMAPINFOHEADER、位图颜色表RGBQUAD和位图像素数据4部分。位图文件头结构BITMAPEHEADER位图信息头结构BITMAPINFOHEADER位图颜色表RGBQUAD位图像素数据图3-2 DIB位图的结构上面结构中各数据

    30、域的意义如表3-1所示。 表3-1 Windows位图结构数据域的含义 结 构数 据 域含 义BITMAPFILEHEADERBftype字节“BM”bfSize文件总字节数bfResrved10bfResrved20bfOffBits位图数据距文件头的偏移量BITMAPINFOHEADERbiSize本结构大小的字节数biWidth位图的宽度,单位为像素点biHeight位图的高度,单位为像素点biPlanes1bitBitCount像素的位数(1,4,8,24)biCompression压缩方式(0表示不压缩)biSizeImage位图数据的字节数biXpelsPerMeter水平分辨(像

    31、素点每米)biYpelsPerMeter垂直分辨(像素点每米)biClrUsed图像中使用的颜色数biClrImportant图像中重要的颜色数RGBQUADrgbBlue蓝色的比例rgbGreen绿色的比例rgbRed红色的比例rgbReserved0DIB位图像素的位数可为1、4、8和24,其图像的颜色数分别为2、16、256和真彩色其中前3种具有对应的颜色表,而24位位图的颜色表为空,其像素值就是颜色值12。3.2.2 定义DIB处理函数集由于DIB位图能独立地保存固有的图像处理信息,能在不同的系统中重显其图像,因此成为Windows环境中的基本图像格式。由于MFC中没有涉及处理DIB位图的类,因此,利用Visual C+进行DIB位图编程时只能使用“非面向对象”,即直接调用Win32 SDK的有关API函数。因此,我们要定义一个处理DIB位图的专用类,比如一个名为CDib的类,在其中封装必需而且有效的DIB数据成员


    注意事项

    本文(基于VC的图像处理软件模块设计讲解.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开