西南科技大学本科生毕业论文
其中:?f?limf(x??,y)?f(x,y),在点(x,y)处f对x的偏导:
?x??0?
?ff(x,y?y)?f(x,y),在点(x,y)处f对y的偏导; ?lim??0?y?梯度的方向就是函数f(x,y)最大变化率的方向。 梯度的幅值作为变化率大小的度量,其值为?f(x,y)?(?f2?f2)?()。 ?x?y对于离散2维离散函数f(i,j),可以用有限差分作为梯度幅值的一个近似: ?f(i,j)?[f(i?1,j)?f(i,j)]2?[f(i,j?1)?f(i,j)]2
尽管梯度幅值和梯度两者之间有着本质的区别,但在数字图像处理中提到梯度时,往往不加区分,即将上市的梯度幅值称为梯度。
上式中包括平方和开方,不方便计算,因此可近似为绝对值的形式: ?f(i,j)?f(i?1,j)?f(i,j)?f(i,j?1)?f(i,j)
(1)Sobel梯度 Sobel算子:
该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像,其公式如下:
??10?1???1?2?*AandG??0Gx???20?20y???????10?1????1?2 ?1?0??*A?1??
对数值边缘有较大响应的水平梯度 and 对水平边缘有较大响应的竖直梯度
图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。
然后可用以下公式计算梯度方向。
22
西南科技大学本科生毕业论文
右方暗。
在以上例子中,如果以上的角度Θ等于零,即代表图像该处拥有纵向边缘,左方较
由于滤波时我们总是喜欢奇数尺寸的模板,因而上述计算Sobel梯度的Sobel模板较为常用。
(2)Robert交叉梯度
Robert交叉梯度对应的模板为:
??1 w1???00??0 w2??1???1?1? 0?? 其中,w1对接近正45度边缘有较强响应;w2对接近负45度边缘有较强响应。 3. 基于二阶微分的图像增强 — 拉普拉斯算子
二维函数f(x,y)的二阶微分(拉普拉斯算子)定义为:
?2f?2f ?f(x,y)?2?2
?x?y2对于离散的二维图像f(i,j),可以用下式作为二阶偏微分的近似:
?2f?(f(i?1,j)?f(i,j))?(f(i,j)?f(i?1,j))?f(i?1,j)?f(i?1,j)?2f(i,j) 2?x?2f?(f(i,j?1)?f(i,j))?(f(i,j)?f(i,j?1))?f(i,j?1)?f(i,j?1)?2f(i,j) 2?y将上面粮食相加就得到用于图像锐化的拉普拉斯算子:
?2f?[f(i?1,j)?f(i?1,j)?f(i,j?1)?f(i,j?1)]?4f(i,j) 对应的滤波模板如下:
?01 w1???1?4??010?1?? 0??因为在锐化增强中,绝对值相同的正值和负值实际上表示相同的响应,故也等同于使用如下模板w2:
23
西南科技大学本科生毕业论文
?0?10?? w2???14?1????0?10??梯度算子一旦算出以后,就可以根据不同的需要生成不同的梯度增强图像。最简单的方法就是用该点的梯度幅度代替该点的灰度。此方法的缺点就是增强的图像仅仅是灰度变换比较陡峭的边缘轮廓,而灰度变化比较平缓或者比较均匀的地方则呈现黑色。
为了突出物体的边缘,常常采用梯度值的改进算法,将图像各个点的梯度值与某一阈值作比较,如果大于阈值,该像素点的灰度值用其梯度值表示,否则用一个固定的灰度值表示。
综上所述,图像锐化算法主要包括三方面内容: (1)算取合适的梯度算子(如拉普拉斯算子);
(2)根据所选用的梯度算子计算图像各点的灰度值,得出各像素点的梯度值; (3)根据个像素点的梯度值选取合适的处理方法。 4. 图像锐化的功能实现
由于设计要求原因,本次设计主要只研究运用梯度算子来实现图像的锐化处理。首先绘制出梯度锐化实现的流程图,流程图如图4-12:
子程序开始复制图像利用sobel算子求出x,y方向上梯度求出图像梯度模值利用梯度模值与原图灰度值按比例相加得到锐化图像返回 图4-12 梯度锐化流程图
24
西南科技大学本科生毕业论文
根据上述流程图,编程实现图像锐化功能。图像锐化前后效果图对比如图4-12:
(a) 3*3平均平滑 (b) 第一次梯度锐化
(c) 第二次梯度锐化 (d) 第三次梯度锐化
图4-13 图像锐化前后对比图
由上图可清晰的看到图像经过锐化处理后的变化。图像锐化使原本经过图像平滑后变得模糊的边界、轮廓得到了改善,是图像的边缘变得清晰了。但是图像如果经过过度锐化(图4-13后两图)以后,反而会使图像变得模糊。因此进行图像锐化时需进行适度锐化图像,从而更好的得到所需图像。
4.5 区域生长
1. 图像分割概述
图像分割的方法和种类非常多,有些分割算法可以直接用于大多数图像,而另一些则只适用于特殊类别的图像。一般采用的方法有边缘检测(edge detection)、边界跟踪(edge tracing)、区域生长(region growing)、区域分离和聚合等。(本次设计则只研究区域生长的图像分割方法)。
图像分割算法一般给予图像灰度只的不连续性或其相似性。不连续性是给予图像灰度的不连续变化分割图像,如针对图像的边缘有边缘检测、边界跟踪等算法;相似性是依据事先制定的准则将图像分割为相似的区域,如阈值分割、区域生长等。
25
西南科技大学本科生毕业论文
图像分割在科学研究和工程技术领域有着广泛的应用。在工业上,应用于矿藏分析、无接触式检测、产品的精度和纯度分析等;在生物医学上,应用于计算机断层图像CT、X光透视、核磁共振、病毒细胞的自动检测和识别等;交通上,应用于车辆检测、车种识别、车辆跟踪等;另外,在机器人视觉、神经网络、身份鉴定、图像传输等各个领域都有着广泛的应用。
2. 区域生长
区域生长是根据事先定义的准则将像素或者子区域聚合成更大区域的过程。其基本思想是从一组生长点开始(生长点可以是单个像素,也可以为某个小区域),将与该生长点性质相似的相邻像素或者区域与生长点合并,形成新的生长点,重复此过程直到不能生长为止。生长点和相邻区域的相似性判据可以是灰度值、纹理、颜色等多种图像信息。
区域生长一般有3个步骤。 (1)选择合适的生长点。
(2)确定相似性准则即生长准则。 (3)确定生长停止条件。
一般来说,在无像素或者区域满足加入生长区域条件时,区域生长就会停止。
图4.2给出一个区域生长的实例:图(a)为原图像,数字表示像素的灰度。以灰度为8的像素为初始的生长点,记为f(i,j)。在8领域内,生长准则是待测点灰度值与生长带你灰度值相差为1或者0。那么,图(b)所示,第一次区域生长后,f(i?1,j)、
f(i,j?1)、f(i,j?1)与中心点灰度值相差都为1,因而被合并。第二次生长后,如图(c)
所示,f(i?1,j)被合并。第三次生长后,如图(d)所示,f(i?1,j?1)、f(i?2,j)被合并,至此,已经不存在满足生长准的的像素点,生长停止。
?4
?1??0
?
?2?1???1
37
7(8)56262121
33?75??13?
? 04?31?
?31???4
?1??0??2?1???1
3
(7)5222(7)(8)6611
33?(7)5??13?
? 04?31?
?31??
(a)原图像灰度矩阵生长点 (b)第一次区域生长结果
26