ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:191.02KB ,
资源ID:10924481      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10924481.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数学形态学图像处理.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数学形态学图像处理.docx

1、数学形态学图像处理*本科学生毕业设计 数学形态学图像处理学 生: *学 号:*指导教师:*专 业:*二零一二年六月中文摘要数学形态学对图像的处理具有直观上的简明性和数学上的严谨性,在定量描述图像的形态特征上具有独特的优势,为基于形状细节进行图像处理提供了强有力的手段。建立在集合理论基础上的数学形态学,主要通过选择相应的结构元素采用膨胀、腐蚀、开启、闭合4种基本运算的组合来处理图像。数学形态学在图像处理中的应用广泛,有许多实用的算法,但在每种算法中结构元素的选取都是一个重要的问题。本课题旨在以数学形态学为基础,根据其基本算法膨胀、腐蚀、开运算与闭运算,基于VC+软件设计一个程序,观察其效果,评价

2、其能力,弥补其缺陷,为多媒体智能软件系统提供有效的工具。本文介绍了数学形态学的基本运算在图像处理中的主要应用,用集合理论描述图像和图像变换,通过图像各部分之间的关系来说明目标的结构特点。最后对数学形态学今后的研究、发展进行了展望。关键词:膨胀;腐蚀;数学形态学,图像处理ABSTRACTMathematical morphology image processing with the intuitive simplicity and mathematical rigor, has unique advantages in the quantitative description of the i

3、mage on the morphological characteristics, and provides a powerful means for the details of the shape-based image processing. In set theory based on mathematical morphology, mainly used by selecting the appropriate structural elements of expansion, corrosion, open, closed combination of four kinds o

4、f basic operations to handle images. The wide application of mathematical morphology in image processing, there are many practical algorithm, but the selection of the structural elements in each algorithm is an important issue.This subject is designed based on mathematical morphology, according to t

5、he basic algorithm expansion, corrosion, opening operation and closing operation, based on VC + + software design a program to observe its effects, to evaluate the ability to compensate for its shortcomings, multimedia intelligent software systemeffective tool.This article describes the main applica

6、tions of the basic operations of mathematical morphology in image processing, and set theory to describe the image and the image transformation, the relationship between the various parts of the image to illustrate the structural characteristics of the target. Finally, mathematical morphology future

7、 research, development prospect.Keywords: dilation,erosion,mathematical morphology,image processing目录第1章 绪论 5第2章 形态学的理论 62.1 膨胀 72.2 腐蚀 82.3 开运算 92.4 闭运算 9第3章 BMP图像格式 9第4章 数学形态学用于图像处理 134.1 腐蚀 144.1.1 水平腐蚀 144.1.2 垂直腐蚀 184.1.3全方位腐蚀 214.2 膨胀 264.2.1水平膨胀 264.2.2垂直膨胀 304.2.3全方向膨胀 344.3 开运算与闭运算 384.3.1

8、开运算 384.3.2 闭运算 39第5章 结论 39参考文献 41第1章 绪论数学形态学(Mathematical Morphology)诞生于1964年,是由法国巴黎矿业学院博士生赛拉(J. Serra)和导师马瑟荣,在从事铁矿核的定量岩石学分析及预测其开采价值的研究中提出“击中/击不中变换”, 并在理论层面上第一次引入了形态学的表达式,建立了颗粒分析方法。他们的工作奠定了这门学科的理论基础, 如击中/击不中变换、开闭运算、布尔模型及纹理分析器的原型等。数学形态学的基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。近几十年来,数学形态受到了国际学术

9、界的广泛关注。例如国际光学工程年会(SPIE)在近年的年会中举办了数学形态学的专题,并且每年出版一本Image Algebra and Morphological Image Processing。有关的国际际刊物和会议文集也刊登了大量的数学形态学的研究成果,如1986年计算机视觉与图形图像处理杂志(GVGIP)出版了数学形态学专刊。数学形态学已经成为图像处理的一个主要研究方向,它的理论和方法是图像分析领域的一个强有力的工具,尤其是与形状相关的内容,例如:计算机文字识别,医学图像处理,工业检测,地质学,冶金学,机器人视觉,视频压缩等等方面都获得了非常成功的应用。最初,数学形态学处理的是二值图像

10、,被称为“二值形态学”(Binary Morphology)。它将二值图像看成集合,运用最简单的集合和几何运算,如:包含,交、并、补和平移等对原始图像进行探测。因为它的各种运算是基于集合的运算,计算简单且适合于并行计算,因此在二值图像的去噪、边界检测、骨架化、区域分割等方面都有非常重要的应用。为了使数学形态学能够处理灰度图像,人们提出了灰度数学形态学。从二值形态学到灰度形态学的方法有很多,主要有:阴影集方法(The Umbra Approach)、阈值方法(The Threshold Set Approach)、完备格方法(The Complete Lattices Approach)以及模糊

11、逻辑方法(The Fuzzy Logic Approach),其中完备格方法当前被认为是最合适的形态学理论框架,由二值图像推广到灰度图像是自然的,只需要将二值形态学中的交和并换分别换成取下确界和取上确界即可。第2章 形态学的理论数学形态学是由一组形态学的集合运算组成的,其基本运算有:膨胀、腐蚀、开运算和闭运算、击中/击不中、细化和粗化。这些基本运算在二值图像和灰度图像中各有特点。基于这些基本运算还可推导和组合各种数学形态学实用算法。其中膨胀和腐蚀是数学形态学方法中最基本的运算。膨胀和腐蚀的原理是利用一个称作结构元素的“探针”收集图像的信息,当探针在图像中不断移动时,通过简单的逻辑运算便可考察图

12、像各个部分之间的相互关系,从而了解图像的结构特征。2.1 膨胀其定义是:把结构元素B平移a后得到Ba,若Ba击中X,我们记下这个a点。所有满足上述条件的a点组成的集合称做X被B膨胀的结果。用公式表示为:D(X)=a | BaX=XB,如图2.1.1所示。图2.1.1中X是被处理的对象,B是结构元素,不难知道,对于任意一个在阴影部分的点a,Ba击中X,所以X被B膨胀的结果就是那个阴影部分。阴影部分包括X的所有范围,就象X膨胀了一圈似的,这就是为什么叫膨胀的原因。在图2.1.2中,左边是被处理的图象X(二值图象,我们针对的是黑点),中间是结构元素B。膨胀的方法是,拿B的中心点和X上的点及X周围的点

13、一个一个地对,如果B上有一个点落在X的范围内,则该点就为黑;右边是膨胀后的结果。可以看出,它包括X的所有范围,就象X膨胀了一圈似的。图2.1.1 膨胀的示意图图2.1.2 膨胀运算2.2 腐蚀把结构元素B平移a后得到Ba,若Ba包含于X,我们记下这个a点,所有满足上述条件的a点组成的集合称做X被B腐蚀(Erosion)的结果。用公式表示为:E(X)=a| Ba X=XB,如图2.2.1所示。图2.2.1 腐蚀的示意图图2.2.1中X是被处理的对象,B是结构元素。不难知道,对于任意一个在阴影部分的点a,Ba 包含于X,所以X被B腐蚀的结果就是那个阴影部分。阴影部分在X的范围之内,且比X小,就象X

14、被剥掉了一层似的,这就是为什么叫腐蚀的原因。2.3 开运算结构元素B对输入图像A的开运算记为AB,定义为AB= (A B) B= U B+x:B十xA。从几何上看,开运算可以通过计算所有可以填入图像内部的结构元素平移的并求得。这也正是对A先腐蚀后膨胀运算的结果。开运算具有平滑功能,能清除图像的某些微小连接、边缘毛刺和孤立斑点。2.4 闭运算结构元素B对输入图像A的闭运算记为AB,定义为AB=(A B)B。从儿何上看,闭运算是开运算的对偶运算,即是对A先膨胀后腐蚀运算的结果。闭运算具有过滤功能,可填平图像内部小沟、孔洞和裂缝,使断线相连。第3章 BMP图像格式图像格式即图像文件存放在记忆卡上的格

15、式,通常有JPEG、TIFF、RAW等。由于数码相机拍下的图像文件很大,储存容量却有限,因此图像通常都会经过压缩再储存。本课题主要用的是BMP格式的图像。BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。典型的BMP图像文件由三部

16、分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息。BMP图像,即通常所说的位图(Bitmap),是Windows系统中最为常见的图像格式。Windows 3.0以前的版本只支持与设备相关位图DDB(Device Dependent Bitmap)。DDB是一种内部位图格式,它显示的图像依计算机显示系统的设置不同而不同,因此一般不存储为文件,与通常所说的BMP图像不同。在Windows.h中,结构体BITMAP定义了DDB位图的类型、宽度、高度、颜色格式和像素位值等,代码如下:typedef str

17、uct tagBITMAP int bmType; /位图类型,必须设为0 int bmWidth; /位图宽度 int bmHeight; /位图高度 int bmWidthBytes; /位图中每一扫描行中的字节数 BYTE bmPlanes; /颜色层数 BYTE bmBitsPixel; /每一像素所占的位数 void FAR* bmBits; /存放像素值内存块的地址 BITMAP; DDB中不包括颜色信息,显示时是以系统的调色板为基础进行像素的颜色映射的。Windows只能保证系统调色板的前20种颜色稳定不变,所以DDB只能保证正确显示少于20色的位图。Windows SDK提供标

18、准的DDB位图操作函数;MFC中定义了CBitmap类来说明DDB位图,其中封装了与DDB位图操作相关的数据结构和函数。Windows 3.1以上版本提供了对设备无关位图DIB(Device Independent Bitmap)的支持。DIB位图可以在不同的机器或系统中显示位图所固有的图像。相对于DDB而言,DIB是一种外部位图格式,经常存储为常见的以BMP为后缀的位图文件(有时也以DIB为后缀)。因此,通常所说的BMP图像,即是DIB位图。 BMP位图文件包括4部分,即位图文件头结构BITMAPFILEHEADER、位图信息头结构BITMAPINFOHEADER、位图颜色表RGBQUAD和

19、位图像素数据,BMP位图文件的结构如图3.1所示。位图文件头结构BITMAPFILEHEADER位图信息头结构BITMAPINFOHEADER位图颜色表RGBQUAD位图像素数据图3.1 BMP位图文件的结构下面介绍BMP文件头、BMP位图信息头、颜色表这3个结构体在Windows.h中的定义。 1. BMP文件头BMP文件头含有BMP文件的类型、文件的大小、位图文件的保留字、位图数据距文件头的偏移量等信息。定义如下: typedef struct tagBITMAPFILEHEADER UINT bfType; /位图文件的类型,必须为BM DWORD bfSize; /位图文件的大小,以字

20、节为单位 UINT bfReserved1; /位图文件保留字,必须为0 UINT bfReserved2; /位图文件保留字,必须为0 DWORD bfOffBits; /位图数据距文件头的偏移量,以字节为单位 BITMAPFILEHEADER; 2. BMP位图信息头BMP位图信息头用于说明位图的尺寸等信息,定义如下: typedef struct tagBIMAPINFOHEADER DWORD biSize; /本结构所占用字节数 LONG biWidth; /位图的宽度,以像素为单位 LONG biHeight; /位图的高度,以像素为单位 WORD biPlanes; /目标设备的

21、级别,必须为1 WORD biBitCount; /每个像素所需的位数,必须是1(双色)、 /4(16色)、8(256色)或24(真彩色)之一 DWORD biCompression; /位图压缩类型,必须是 0(不压缩)、 /1(BI_RLE8压缩类型)或2(BI_RLE压缩类型)之一 DWORD biSizeImage; /位图的大小,以字节为单位 LONG biXPelsPerMeter; /位图水平分辨率,每米像素数 LONG biYPelsPerMeter; /位图垂直分辨率,每米像素数 DWORD biClrUsed; /位图实际使用的颜色表中的颜色数 DWORD biClrImp

22、ortant; /位图显示过程中重要的颜色数 BITMAPINFOHEADER; 3. 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,且定义一种颜色,定义如下: typedef struct tagRGBQUAD BYTE rgbBlue; /蓝色的亮度(值范围为0255) BYTE rgbGreen; /绿色的亮度(值范围为0255) BYTE rgbRed; /红色的亮度(值范围为0255) BYTE rgbReserved; /保留,必须为0 RGBQUAD; 位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下: typedef

23、 struct tagBITMAPINFO BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColorsi; BITMAPINFO; 颜色表中RGBQUAD结构数据的个数由biBitCount来确定,当biBitCount=1、4、8时,分别有2、16、256个表项;当biBitCount=24时,没有颜色表项。 位图数据记录了位图的每一个像素值,记录顺序是在扫描行内从左到右、扫描行之间从下到上。位图的一个像素值所占的字节数如下: l 当biBitCount=1时,8个像素占1个字节。 l 当biBitCount=4时,2个像素占1个字节。 l 当biBitCou

24、nt=8时,1个像素占1个字节。 l 当biBitCount=24时,1个像素占3个字节。 Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充,一个扫描行所占的字节数计算方法如下: DataSizePerLine=(biWidthbiBitCount+31)/8 这是本设计中的一个关键点,无论对图像进行何种变换,都要进行扫描行的4字节对齐。 除了上述的Windows BMP以外,还有一种与其结构相似,但不完全相同的另一种BMP图像,即OS/2采用的BMP。其与Windows BMP的主要区别是位图信息结构(信息头结构和颜色表结构)不同。而它们的图像位数

25、据的存储方式是完全一样的。本设计只讨论Windows系统下的BMP图像,故对OS/2使用的BMP不进行详细分析。第4章 数学形态学用于图像处理程序运行结果:4.1 腐蚀4.1.1 水平腐蚀代码:void FuShiYuPengZhangDib:ChuiZhiFuShi() LPBYTE p_data; / 指向DIB象素指针 LPBYTE lpSrc;/ 指向源图像的指针 LPBYTE lpDst;/ 指向缓存图像的指针 LPBYTE temp;/ 指向缓存DIB图像的指针 int i; int j; int n;/循环变量 p_data = GetData();/ 找到DIB图像象素起始位置

26、 LONG wide = GetWidth();/ DIB的宽度 LONG height = GetHeight();/ DIB的高度 if (m_pBitmapInfoHeader-biBitCount9)/灰度图像 temp = new BYTEwide*height;/ 暂时分配内存,以保存新图像 lpDst = (LPBYTE)temp; memset(lpDst, (BYTE)255, wide * height);/ 初始化新分配的内存,设定初始值为255 /使用垂直方向的结构元素进行腐蚀 for(j = 1; j height - 1; j+) for(i = 0; i wide

27、; i +) /由于使用31的结构元素,为防止越界,所以不处理最上边和最下边的两列像素 / 指向源图像倒数第j行,第i个象素的指针 lpSrc = (unsigned char *)(p_data + wide * j + i); lpDst = (unsigned char *)(temp + wide * j + i); / 指向目标图像倒数第j行,第i个象素的指针 *lpDst = 0;/目标图像中的当前点先赋成黑色 / 如果源图像中(0,-1)、(0,0)、(0,1)三个点之一有白点, / 则将目标图像中的(0,0)点赋成白色 for (n = 0; n 128) *lpDst = 2

28、55; break; / 复制腐蚀后的图像 memcpy(p_data, temp, wide * height); / 释放内存 delete temp; else /24位真彩色 LONG DibWidth; /原图长、宽 DibWidth=this-GetDibWidthBytes(); /取得原图的每行字节数 BYTE *p_temp=new BYTEheight*DibWidth; /使用垂直方向的结构元素进行腐蚀 for(j = 1; j height - 1; j+) for(i = 0; i DibWidth; i+=3) /由于使用31的结构元素,为防止越界,所以不处理最上边

29、和最下边的两列像素 / 指向源图像倒数第j行,第i个象素的指针 lpSrc = (unsigned char *)(p_data + DibWidth * j + i); lpDst = (unsigned char *)(p_temp + DibWidth * j + i); / 指向目标图像倒数第j行,第i个象素的指针 *lpDst = 0;/目标图像中的当前点先赋成黑色 *(lpDst+1)=0; *(lpDst+2)=0; / 如果源图像中(0,-1)、(0,0)、(0,1)三个点之一有白点, / 则将目标图像中的(0,0)点赋成白色 for(int m=0;m3;m+) for (n = 0; n 128) *lpDst = 255; break; else *lpDst =*lpSrc ; lpSrc+; lpDst+; / 复制腐蚀后的图像 memcpy(p_data, p_temp, DibWidth * height); / 释放内存 delete p_temp; 水平腐蚀后的图:4.1.2 垂直

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2