数字图像处理-第十章

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

-1 -1 -1 -1 8 -1 -1 -1 -1
R w i z i ,
i 1 i 9
-1 -2 -1 -2 12 -2 -1 -2 -1
R T
(2)实例1
(2)实例2
(3)实现代码
w=[-1,-1,-1;-1,8,-1;-1,-1,-1];
f=imread('lyf.jpg'); g=abs(imfilter(double(f), w)); T=0.9*max(g(:)); g1=g.*(g>=T);
(3)实现代码
imread('10.3.jpg');
f = imread('10.3.jpg'); imshow(f); f=rgb2gray(f); ec=edge(f,'canny',0.1); imshow(ec); ec=edge(f,'canny',0.2); imshow(ec);
边缘检测 彩色图像转 换成灰度图
Gy a (x , y ) arctan( ) Gx
与边缘的方向 垂直。
f G x x f G y f y

-1
1
-1 1
0 0
C、实例(原图,x方向梯度,y方向梯度,梯度)
思考题:为什么图像的梯度只需要计算x和y方向的梯度?
以下是水平、垂直、45及-45度线的线检测模板:
(2)实例
原图
T=0.1*max(g(:))
T=0.2*max(g(:))
T=0.3*max(g(:))
T=0.4*max(g(:))
T=0.5*max(g(:))
(2)实例
T=0.6*max(g(:))
T=0.7*max(g(:))
T=0.8*max(g(:))
-1
-1 -1
2 -1
2 2 -1 -1
模板处理, 得到模板响 应图像
imshow(g1);
gg=uint8(double(g)/max(g(:))*255); imshow(gg);
归一化到0255的灰度图
uint8(double(g)/max(g(:))*255);
T=0.1*max(g(:))
2
-1 -1
-1 -1
2 -1 -1 2
模板处理, 得到模板响 应图像
imshow(g1);
gg=uint8(double(g)/max(g(:))*255); imshow(gg);
归一化到0255的灰度图
(3)实现代码
w=[-1,-1,-1; 2,2,2;-1,-1,-1];
f = imread('10.2.jpg'); f = rgb2gray(f); g=abs(imfilter(double(f),w)); T=0.5*max(g(:)); g1=g.*(g>=T);
ec=edge(f,'canny',0.2);
ec=edge(f,'canny',0.3);
用canny检测算子进行边缘检测的结果
Original image
ec=edge(f,'canny',0.1);
ec=edge(f,'canny',0.2);
ec=edge(f,'canny',0.3);
用canny检测算子进行边缘检测的结果
ec=edge(f,'canny',0.4);
ec=edge(f,'canny',0.5);
ec=edge(f,'canny',0.6);
ec=edge(f,'canny',0.7);
用canny检测算子进行边缘检测的结果
Original image
edge(f,'canny',0.2);
edge(f,'roberts',0.05)
T=0.9*max(g(:))
uint8(double(g)/max(g(:))*255);
(3)实现代码
w=[2,-1,-1;-1,2,-1;-1,-1,2];
f = imread('10.2.jpg'); f = rgb2gray(f); g=abs(imfilter(double(f),w)); T=0.5*max(g(:)); g1=g.*(g>=T);
T=0.2*max(g(:))
T=0.3*max(g(:))
T=0.4*max(g(:))
T=0.5*max(g(:))
10.1.3 使用edge函数的边缘检测 基础:两种边缘模型
边缘的一阶导数和二阶导数
特点 1、一阶导数:在斜坡上,导数值 为正,在平坦区为零。
2、二阶导数:在跃变点,一正一
负,其他部分为零。(过零点)
10.1 间断检测
在本节中,将讨论在数字图像中检测亮度不连续 的三种基本类型: 点、线和边缘 方法:采用掩模法,即模板处理。如3×3模板
R w i z i ,
i 1
中心像素 处模板的 响应 图像 的像 素值
i 9
模板 系数
10.1.1 点检测
点检测原理 当掩模的中心位于一个孤立点时,掩模的响应最强,而 在亮度不变的区域,响应为零,亮度变化缓慢的区域响应较 小。 即用空间域的高通滤波器来检测孤立点:
Z1 Z4
Z7
Z2 Z5
Z8
Z3 Z6
Z9
B 、LoG算子
h (r ) e
2 2 2

r2 2 2
r 2 2 h (r ) e 4
r2
用零交叉检测算子进行边缘检测的结果
用LoG算子进行边缘检测的结果
Canny边缘检测
也称最优边缘检测算法 主要特点:
(x 0 , y 0 )是(x , y )邻域中的点
梯度相位相近
( 2 ) canny边缘检测的边缘点连接法: 参看canny边缘检测算法中的边缘点连接法。
10.2 Line Detection Using the Hough Transform
实际上,由于噪声、光照不均匀引起的边缘断开和其 它造成灰度的伪不连续性的因素影响,最终像素不能完 全的表征为边缘(In practice, the resulting pixels seldom characterize an edge completely because of noise,breaks in the edge from nonuniform illumination,and other effects that introduce spurious intensity discontinuities.)
♦ 当完成对包含P的轮廓线的连接后,将这条轮廓线 标记为已访问。回到第一步,寻找下一条轮廓线。 重复第一、二和三步,直至图像2中找不到新轮廓 线为止。
用canny检测算子进行边缘检测的结果。对比其它 边缘检测算法,该算法的边缘十分完整
Original image
ec=edge(f,'canny',0.1);
(4) 对梯度取两次阈值得到两个阈值T1和T2,如: T1=0.4×T2 我们把梯度值小于T1的像素的灰度设为0,得到图像1, 然后把梯度值小于T2的像素的灰度设为0,得到图像2. 由于图像2的阈值较高,去除了大部分噪声,但同时也损 失了有用的边缘信息。 而图像1的阈值低,保留了较多的信息。以图2为基础,根 据图像1来补充连接图像的边缘。
edge(f,'log',0.003)
edge(f,‘prewitt',0.04)
edge(f,‘sobel',0.0547)
结果对比:调至最佳系数
(4)边缘检测的MATLAB实现 ☺语法:[g,t]=edge(f, ‘method’, parameter) 说明: ☺ g是一个逻辑数组,其值为:在f中检测到边缘的位置为1,其 他位置为零; ☺ t是edge是用的阈值; ☺ method为边缘监测器方法,可选为: ‘sobel’, ‘prewit’, ‘roberts’, ‘log’(LoG), ‘zerocoss’, ‘canny’等 ☺ parameter包含两部分:T为指定的阈值,第二部分为dir(检 测边缘的首选方向: ‘horizontal’, ‘vertical’, ‘both’),或 sigma(标准方差),或H(指定的滤波函数)。
2 2 2
f f (x 1, y ) f (x 1, y ) 2f (x , y ) 2 x
2
f f (x 1, y ) f (x 1, y ) f (x , y 1) f (x , y 1) 4f (x , y )
2
2f f (x , y 1) f (x , y 1) 2f (x , y ) 2 y
-1
-1 -1
-1 -1
8 -1 -1 -1
subplot(1,3,1);imshow(f);
subplot(1,3,2);imshow(g); subplot(1,3,3);imshow(g1);
模板处理, 得到模板响 应图像
10.1.2 线检测 线检测原理
处于直线段上的像素点对相应的“线检测模板”的模板 响应最强,而在亮度不变或变化缓慢的区域,响应为零或很 小。
(5)连接边缘的具体步骤如下:
♦ 对图像2进行扫描,当遇到一个非零灰度的像素P 时,跟踪以P为开始点的轮廓线,直到该轮廓线的 终点Q。 ♦ 考察图像1中与图像2中Q点位置对应点Q’的8-邻域 区域。如果Q’点的8-邻域中有非零像素R’存在,则 将其包括到图像2中,为作点R。从R开始,重复第 一步,直至图像1和图像2中都无法继续为止。
低误判率,即尽可能少地把边缘点误认为是非边 缘点; 高定位精度,即准确地把边缘点定位在灰度变化 最大的像素上;
抑制虚假边缘。 该算法的边缘连接十分完整
Canny边缘检测是一种比较新的边缘检测算子,具有很好 边缘检测性能,得到了越来越广泛的应用。它能在噪声抑制和 边缘检测之间取得较好的平衡。具体步骤如下: (1)用高斯滤波器来对图像滤波,可以去除图像中的噪声。 (2)用高斯算子的一阶微分对图像进行滤波,得到每个像素 梯度的大小|G|和方向
用Prewitt算子进行边缘检测的结果
用Prewitt算子进行边缘检测的结果
Sobel边缘检测
Z1 Z4
Z2 Z5
Z3 Z6
Z7
Z8
Z9
图像领域块
用以下模板实现Sobel算子
用Sobel算子进行边缘检测的结果
用Sobel算子进行边缘检测的结果
(3)拉普拉斯算子
f f f 2 2 x y
噪声对一阶导数和二阶导数的影响
噪声对一阶和二阶 导数都有影响,尤其对 二阶导数影响较大,因 此,在检测边缘前应该 考虑平滑处理。
梯度算子: A、梯度算子
原理:在灰度变化缓慢或灰度不变的区域,梯 度的幅值较小或为零。灰度突变的地方幅值较大。
不足:只体现在x方向和y方向,域太小(4像素)
f (i 1, j ) f (i , j ) 0 0 f (i , j 1) f (i , j ) 1 1 f f 2 2 2 2 2 2 mag (f ) G G ( ) ( ) G y x x y G x G y f (i 1, j ) f (i , j ) f (i , j 1) f (i , j )
第10章 图像分割
概念 1、图像分割是指将图像划分为它的子区域 或对象的过程。 2、有选择性地定位感兴趣对象在图像中的 位置和范围。
虹膜定位
原理 1、基于灰度的不连续性。(区域之间) 2、基于灰度的相似性。(区域内部)
主要内容
10.1 点 、线和边缘检测 10.2 应用Hough变换检测直线10.3 门限处理 10.4 基于区域的分割 10.5 基于形态学分水岭的分割 (自学)
B、其它各种形式的梯度模板(弥补梯度算子模板的不足)
Z1 Z4
Z7
Z2 Z5
Z8
Z3 Z6
Z9
Roberts边缘检测
Z1 Z4 Z7
Z2 Z5 Z8
Z3 Z6 Z9
Biblioteka Baidu图像领域块
用Roberts算子进行边缘检测的结果
Prewitt边缘检测
Z1 Z4 Z7 Z2 Z5 Z8 Z3 Z6 Z9
图像领域块
边缘连接和边界检测
一、 基于局部处理的边缘点连接 ( 1 ) 梯度相似连接准则: 图像中每个模板中心点(x,y)的小邻域(如3*3或5*5) 内像素的特点,将满足相似性准则的点连接起来,形成边 缘。
f (x , y ) f (x 0 , y 0 ) E
梯度幅值相近
(x , y ) (x 0 , y 0 ) A
相关文档
最新文档