第6章 图像增强-锐化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
特点:锐化的边缘信息较强
(2) Prewitt算子
S p dx d y
用模板表示 d x , d y :
1 0 1 dx 1 0 1 1 0 1

2
1 2 2

1 1 1 dy 0 0 0 1 1 1

无方向的交叉微分算法
图:沿x和y方向的一阶差分
图:罗伯茨Roberts算法差分
Gx f (i 1, j ) f (i, j )
Gx f (i 1, j +1) f (i, j )
Gy f (i, j 1) f (i, j)
Gy f (i, j 1) f (i+1, j)

适当的选取T,可以有效地增强边界而不影响比 较平滑的背景。

第三种方法:对梯度值超过T的像素选用固定
灰度LG 代替,而小于T时仍选用原像素点值
LG , f (i, j ) T g (i, j ) f (i, j ), 其他

这种方法可以使边界清晰,同时又不损害灰度
变化比较平缓区域的图像特性。
(a)原图像 (b)结果图 图:拉普拉斯算子的锐化
(a)Sobel算子 图:锐化结果
(b)Prewitt算子
一阶梯度算法效果比较
Sobel算法与Priwitt算法的思路相同,属于同一类型, 因此处理效果基本相同。 Roberts算法的模板为2*2,定位准确,但对噪声敏感。 单方向锐化经过后处理之后,也可以对边界进行增强。

详见P123 表6.2
定灰度LG ,而小于该阈值T时选用固定的灰度LB 。
LG , f (i, j ) T g (i, j ) LB , 其他
(4.20)
该法生成的是二值图,根据阈值将图像分成边缘和
背景,便于研究边缘所在的位置。

例116面 例4-13
clc [i,map]=imread('pout.tif'); figure,subplot(2,3,1),imshow(i,map); i=double(i); [ix,iy]=gradient(i); % 求梯度 gm=sqrt(ix.*ix+iy.*iy); % 求梯度幅度 out1=gm; subplot(2,3,2),imshow(out1,map);
表示为卷积的形式
g (i, j )
r k s l
f (i r , j s)H (r , s),

k
l
i , j 0,1, 2,, N 1
式中,i, j = 0, 1, 2, , N−1,k = 1,l = 1,H(r, s)如下:
0 1 0 H1 1 4 1 0 1 0
0 0 0 0 0
20 20 20 20 20 20 2 0 17 14 21 20 7 7 32 20 20 0 7 25 20 20 20 20 20 20
0 -3 0 -6 0 0 1 0
-13 -20 0 -13 -13 0 12 0 5 0 0 0
方法2:将所有的像素值取绝对值。 这样做的结果是,可以获得对边缘的有方向提取。
2、其他锐化算子
(1) Sobel算子
g (i, j ) {d (i, j ) d (i, j )}
2 x 2 y
1 2
用模板来表示:
1 0 1 dx 2 0 2 1 0 1
1 2 1 dy 0 0 0 1 2 1
图像锐化
灰度渐变 细线 孤立点 平坦段
灰度跃变
一阶微分曲线
图像细节的灰度分布特性
二阶微分曲线
1、梯度锐化法
二元函数f (x,y)在坐标点(x,y)处的梯度定义为
f G x x f f G y y
梯度向量的幅度:
out4=i; j=find(gm<10); out4(j)=255; subplot(2,3,5),imshow(out4,map); out5=i; j=find(gm>10); out5(j)=255; q=find(gm<10); out5(q)=0; subplot(2,3,6),imshow(out5,map);

单方向的一阶锐化算法
(1)水平锐化算法 水平方向的锐化非常简单,通过一个可以检测出水 平方方向的像素值的变化模板来实现。
2 1 1 H 0 0 0 1 2 1
例如:
2 1 1 H 0 0 0 1 2 1
1*1+2*2+1*3-1*3-2*0-1*8=-3
1 0 1 H 2 0 2 1 0 1
例如:
1*1+2*2+1*3-1*3-2*2-1*8=-7
1 0 1 H 2 0 2 1 0 1
1 2 3 1 2
2 1 0 2 3
3 2 8 7 2
2 6 7 8 6
特点:与Sobel相比,有一定的抗干扰性。图像效果比较干净。
【例4.7】利用Sobel算子和Prewitt算子对图像 进行锐化处理。
I = imread('ric.tif'); imshow(I); hs=fspecial('sobel'); S=imfilter(I,hs); hp=fspecial('prewitt') P=imfilter(I,hp); figure,imshow(S,[]); figure,imshow(P,[]);
数字图像处理
------MATLAB图像增强之锐化
图像锐化

原因:对焦不准、景物的相对运动、采样率低均有可能 造成图像模糊、不清晰。

基本思想:通过消除或减弱图像的低频分量从而增强图
像中的纹理、边缘信息,使边缘和轮廓线模糊的图像变 得清晰(即除边缘以外的像素点的灰度值趋于零),使 其细节也更加清晰。
Slide 40
【例4】应用拉普拉斯算子进行图像锐化处理。 解:程序如下 I = imread('rice.png');
figure,subplot(1,2,1),imshow(I);
h=[0 1 0;1 -4 1;0 1 0]; I2=imfilter(I,h); subplot(1,2,2),imshow(I2);
out2=i; j=find(gm>10); % 求gm>10的坐标点 out2(j)=gm(j); % 对该类点赋值为梯度值 subplot(2,3,3),imshow(out2,map); out3=i; j=find(gm>10); % 求gm>10的坐标点 out3(j)=255; % 对该类点赋值为255 subplot(2,3,4),imshow(out3,map);
1 2 2 y
(4.10)
f mag(f ) [G G ]
2 x
f f [( ) 2 ( ) 2 ] 2 x y
1
(4.11)
为了降低运算量,常用绝对值或最大值运算代替 平方与平方根运算近似求梯度的幅度:
f | Gx | | G y |
f max(|Gx |, | Gy |)
1
2
3
2
1
0
0
0
0
0
2
3
1
0
2
8
6
7

6
0 -3 0 -6
-13 -20 0 -13 -13 0
1
2
2
3
7
2
8
6
6
9
0 0
1 0
12 0
5 0
0 0
问题:计算结果中出现了小于零的像素值
(2)垂直锐化算法 垂直锐化算法的设计思想与水平锐化算法相同,通过一 个可以检测出垂直方向上的像素值的变化模板来实现。
图像锐化
图像锐化的目的:加 强图像中景物的细节 边缘和轮廓。 锐化的作用是要使灰 度反差增强。 因为边缘和轮廓都位 于灰度突变的地方。 所以锐化算法的实现 是基于微分作用。 从频率角度看,图像模 糊是其高频信号衰减, 因此采用高通滤波可 使用图像增晰。

扫描线
灰度跃变 灰度渐变
细线 孤立点 平坦段
g (i, j ) f (i, j )
缺点:输出的图像在灰度变化比较小的区域, g(i,j)很小,显示的是一片黑色。

第二种方法: 对梯度值超过某阈值T的像素选用梯
度值,而小于T时选用原像素点值。
f (i, j ),f (i, j ) T g (i, j ) f (i, j ),其他
1 2 6 6 9
0 0 0 -7 0 -16 0 -17 0 0
0 -17 -25 0
0 4 5
0 0 0
-22 -3 0 0 0
问题:计算结果中出现了小于零的像素值
(3)单方向锐化算法的后处理 这种梯度算法需要进行后处理,以解决像素值为负的 问题。后处理的方法不同,则所得到的效果也不同。 方法1:整体加一个正整数,以保证所有的像 素值均 大于零。 这样做的结果是:可以获得类似浮雕的效果。
由于数字图像无法采用微分运算,故一般采用差 分运算形式表示。
Gx f (i 1, j ) f (i, j )
Gy f (i, j 1) f (i, j)
单方向的一阶锐化算法

单方向的一阶梯度算法是指给出某个特定方向上的 边缘信息。 因为图像为水平、垂直两个方向组成,所以,所谓 的单方向梯度算法实际上是包括水平方向与垂直方 向上的锐化。
图像细节的灰度分布特性
图像锐化

边缘和轮廓常常位于图像中灰度突变的地方,因而可以
直观的想到用灰度的微分对边缘和轮廓进行提取。

微分运算是求像素点灰度值的变化率,而图像内不同物 体边缘处的像素点的灰度值往往变化比较明显,因此微 分运算或差分运算可以起到增强边缘信息的作用。

常用的锐化方法有梯度法、拉普拉斯算子法和定向滤波 器法。
拉普拉斯的增强算子
g (i, j ) 5 f (i, j ) f (i 1, j ) f (i 1, j ) f (i, j 1) f (i, j 1)
其对应的模板为:
0 1 0 H1 1 5 1 0 1 0
3.拉普拉斯算子
二阶微分算子。

一个连续的二元函数f (x,y),其运算定义为
2 2 f f 2 f 2 2 x y
对于数字图像,拉普拉斯算子可以简化为
g (i, j ) 4 f (i, j ) f (i 1, j ) f (i 1, j ) f (i, j 1) f (i, j 1)
0 0 0 0 0 0 0 0 13 13 12 0 0 20 13 5 0 0 0 0 0 0
0 -3 0 -6 0 0 1 0
-13 -20 0 -13 -13 0 12 0 5 0 0 0
0 3 0 6 0 0 1 0
前面的锐化处理结果对于人工设计制造的具有矩形 特征物体(例如:楼房、汉字等)的边缘的提取很 有效。但是,对于不规则形状(如:人物)的边缘 提取,则存在信息的缺损。 为了解决上面的问题,就希望提出对任何方向上的边 缘信息均敏感的锐化算法。 因为这类锐化方法要求对边缘的方向没有选择,所有 称为无方向的锐化算法。
【例】利用罗伯茨梯度对图像进行锐化处理。
解: 程序如下:
I = imread('rice.tif'); imshow(I);
BW1 = edge(I,'roberts',0.1);
figure, imshow(BW1);
(a)原图像
(b)结果图
图:罗伯茨梯度的锐化

所有梯度值都和相邻像素之间的灰度差分成比例。 利用它来增强图像中景物的边界。 采用梯度进行图像增强的方法有: 第一种方法:使其输出图像的各点等于该点处的梯 度。即:
第四种方法:将梯度值超过T的像素选用梯度
值,而小于T时选用固定的灰度LB 。即
f (i, j ), f (i, j ) T g (i, j ) LB , 其他

这种方法将背景用一个固定的灰度级LB来表
示,便于研究边缘灰度的变化。

第五种方法:是将梯度值超过某阈值T的像素选用固
相关文档
最新文档