第七讲 图像形态学处理
- 格式:ppt
- 大小:4.24 MB
- 文档页数:65
{ cvErode(src,dst,element,1;//腐蚀图像 cvDilate(dst,dst,element,1;//膨胀图像 } else { cvDilate(dst,dst,element,1;//膨胀图像 cvErode(src,dst,element,1;//腐蚀图像 } cvReleaseStructuringElement(&element; cvShowImage("Open/Close",dst; } void ErodeDilate(int pos { int n=erode_dilate_pos-max_iters; int an=n>0?n:-n; element cvCreateStructuringElementEx(an*2+1,an*2+1,an,an,element_shape,0; if (n<0{ cvErode(src,dst,element,1; } else { =cvDilate(src,dst,element,1; } cvReleaseStructuringElement(&element; cvShowImage("Erode/Dilate",dst; } int main(int argc,char **argv { char *filename =argc ==2?argv[1]:(char *"lena.jpg"; if( (src = cvLoadImage(filename,1 == 0 return -1;dst=cvCloneImage(src; cvNamedWindow("Open/Close",1;cvNamedWindow("Erode/Dilate",1; open_close_pos = erode_dilate_pos = max_iters; cvCreateTrackbar("iterations","Open/Close",&open_close_pos,max_iters*2+1,OpenClose; cvCreateTrackbar("iterations","Erode/Dilate",&erode_dilate_pos,max_iters*2+1, ErodeDilate; for (;; { int c; OpenClose(open_close_pos;ErodeDilate(erode_dilate_pos; c= cvWaitKey(0; if (c==27 { break; } switch(c { case 'e': element_shape=CV_SHAPE_ELLIPSE; break; case 'r':element_shape=CV_SHAPE_RECT; break; case '\r':element_shape=(element_shape+1%3; break; default: break; } } cvReleaseImage(&src; cvReleaseImage(&dst; cvDestroyWindow("Open/Close";cvDestroyWindow("Erode/Dilate";return 0; } /***************************** 腐蚀和膨胀,看上去好像是一对互逆的操作,实际上,这两种操作不具有互逆的关系。
什么叫做形态学图像处理形态学一般是使用二值图像,进行边界提取,骨架提取,孔洞填充,角点提取,图像重建。
基本的算法:膨胀腐蚀,开操作,闭操作,击中击不中变换几种算法进行组合,就可以实现一些非常复杂的功能,而且逻辑严密。
这里给出形态学的一般原理,以及用形态学进行边界提取,角点提取好骨架提取的原代码一引言数学形态学是一门建立在集论基础上的学科,是几何形态学分析和描述的有力工具。
数学形态学的历史可回溯到19世纪。
1964年法国的Matheron和Serra在积分几何的研究成果上,将数学形态学引入图像处理领域,并研制了基于数学形态学的图像处理系统。
1982年出版的专著《Image Analysis and Mathematical Morphology》是数学形态学发展的重要里程碑,表明数学形态学在理论上趋于完备及应用上不断深入。
数学形态学蓬勃发展,由于其并行快速,易于硬件实现,已引起了人们的广泛关注。
目前,数学形态学已在计算机视觉、信号处理与图像分析、模式识别、计算方法与数据处理等方面得到了极为广泛的应用。
数学形态学可以用来解决抑制噪声、特征提取、边缘检测、图像分割、形状识别、纹理分析、图像恢复与重建、图像压缩等图像处理问题。
该文将主要对数学形态学的基本理论及其在图像处理中的应用进行综述。
二数学形态学的定义和分类数学形态学是以形态结构元素为基础对图像进行分析的数学工具。
它的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。
数学形态学的应用可以简化图像数据,保持它们基本的形状特征,并除去不相干的结构。
数学形态学的基本运算有4个:膨胀、腐蚀、开启和闭合。
它们在二值图像中和灰度图像中各有特点。
基于这些基本运算还可以推导和组合成各种数学形态学实用算法。
(1)二值形态学数学形态学中二值图像的形态变换是一种针对集合的处理过程。
其形态算子的实质是表达物体或形状的集合与结构元素间的相互作用,结构元素的形状就决定了这种运算所提取的信号的形状信息。