Matlab 采用LoG算子对含噪声的图象实施边缘分割
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实习5
对下图施加高斯噪声,采用LoG 算子对含噪声的图象实施边缘分割,找出该图象的最佳边缘。
原理: 1,图象工程的基本内容:
(1)图像处理的重要任务就是对图像中的对象进行分析和理解。
(2)图像分析主要是对图像中感兴趣的目标进行检测和测量,以获得它们的客观信息,从而建立对图像的描述。
(3)图像理解的重点是在图像分析的基础上,进一步研究图像中各目标的性质和它们之间的相互联系,并得出对原始客观场景的解释,从而指导和规划行动。
在对图像处理的研究和应用中,人们往往仅对图像中的某些部分感兴趣,这些感兴趣的部分常称为目标或对象,它们一般对应图像中特定的、具有独特性质的区域。图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同,即在一幅图像中把目标从背景中分离出来,以便于进一步处理。图像分割就是指把图像分成互不重叠的区域并提取出感兴趣目标的技术。
图像分割可借助集合概念用如下方法定义: 令集合R 代表整个图像区域,对R 的分割可看做将R 分成若干个满足以下5个条件的非空的子集(子区域)R1,R2,…,Rn(其中P(Ri)是对所有在集合Ri 中元素的逻辑谓词,Ø是空集):
②对所有的i 和j ,i ≠j ,有Ri ∩Rj =
Ø ③对i =1,2,…,n ,有P(Ri)=TRUE ; ④对i ≠j ,有P(Ri ∪Rj)=FALSE ; ⑤对i =1,2,…,n ,Ri 是连通的区域。
条件①指出对一幅图像的分割结果中全部区域的总和(并集)应能包括图像的所有像素(即原图像);条件②指出分割结果中各个区域是互不重叠的,或者说在分割结果中一个像素不能同时属于两个区域; 条件③指出属于同一个区域的像素应该具有某些相同特性;条件④指出分割结果中属于不同区域的像素应该具有一些不同的特性;条件⑤要求分割结果中同一个区域内的任意两个像素在该区域内互相连通,或者说分割得到的区域是一个连通成分。 图像的分割有很多种类,边缘分割也有很多种类,LoG 算子是其中一类
由于在成像时,一个给定像素所对应的场景点,它的周围点对该点的贡献的光强大小呈正态分布,所以平滑函数应能反映不同远近的周围点对给定像素具有不同的平滑作用,因此,平滑函数采用正态分布的高斯函数,即
式中,s 是方差。 用h(x ,y)对图像f(x ,y)的平滑可表示为
g(x ,y)=h(x ,y)*f(x ,y)
22
22e ),(σy x y x h +-=
如果令r 是离原点的径向距离,即r2=x2+y2,转换,然后对图像g(x ,y)采用拉普拉斯 算子进行边缘检测,可得
2h 称为高斯—拉普拉斯滤波(Laplacian of Gaussian ,LoG)算子,也称为“墨西哥
草帽”。它是一个轴对称函数,各向同性,它的一个轴截面如图所示。
由图可见,这个函数在r =±s 处有过零点,在|r|s 时为负;可以证明这个算子定义域内的平均值为零,因此将它与图像卷积并不会改变图像的整体动态范围。但由于它相当光滑,因此将它与图像卷积会模糊图像,并且其模糊程度是正比于s 的。
2h 2h 检测过零点能提供较可靠的边缘位置。在该算子中,s 的选择很重要,s 小时边缘位置精度高,但边缘细节变化多;s 大时平滑作用大,但细节损失大,边缘点定位精度低。应根据噪声水平和边缘点定位精度要求适当选取s 。 LoG 算子用到的卷积模板一般较大(典型半径为8~32 个像素),不过这些模板可以分解为一维卷积来快速计算。
通过判断零交叉点及其两侧像素符号的变化来确定边缘点。
边缘点两侧的二阶微分是异号的,且正号对应边像点的暗侧,负号对应边像点的亮侧,两侧的符号指示着边缘的起伏走向。 LoG 算子可表示为:
程序代码: I=imread('C:\Documents and Settings\os\桌面\DIP-E5分割\p5-04.tif'); a=[0.0027,0.0331,0.069,0.0331,0.0027;0.0331,0.1793,0.0098,0.1793,0.0331;0.0690,0.00),(*),(),(*e )]
,(*),([),(224222222y x f y x h y x f r y x f y x h y x g r ∇=⎪⎪⎭⎫ ⎝⎛--=∇=∇-σσ
σ⎥⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎣⎡----------------244424080448*24844080424442
98,-1.3257,0.0098,0.0690;0.0331,0.1793,0.0098,0.1793,0.0331;0.0027,0.0331,0.069,0.0 331,0.0027];
c=conv2(a,I);
figure;imshow(c)
d=[-2,-4,-4,-4,-2;-4,0,8,0,-4;-4,8,24,9,-4;-4,0,8,0,-4;-2,-4,-4,-4,-2]
e=conv2(I,d);
figure;imshow(e)
图片:
若对图像进行锐化,则有如下效果:
代码二:I=imread('C:\Documents and Settings\os\桌面\DIP-E5分割\p5-04.tif');%读入图像 subplot(2,2,1),imshow(I);title('原图像');
J=imnoise(I,'gaussian',0,0.02);
subplot(2,2,2);imshow(J); %显示 sobel 算子锐化图像
title('高斯噪声');
H1=fspecial('log',10,2); %应用 log 算子锐化图像
I1=filter2(H1,I);
subplot(2,2,4);imshow(I1);%显示 log 算子锐化图像
title('log 10,0.2');
H2=fspecial('log',10,0.2); %应用 log 算子锐化图像
I2=filter2(H2,I);