冈萨雷斯数字图像处理10_第1页
冈萨雷斯数字图像处理10_第2页
冈萨雷斯数字图像处理10_第3页
冈萨雷斯数字图像处理10_第4页
冈萨雷斯数字图像处理10_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章图像分割

一、主要内容点检测线检测边缘检测阈值分割基于区域的分割分水岭分割

二、点检测图像中的孤立点,可以用模板来检测。若在某个点的位置模板响应值R大于指定阈值T,则认为该位置已检测到一个孤立点:|R|≧T常用的一个点检测模板为:点检测可用滤波函数imfilter来实现。实例:g=abs(imfilter(double(f),w))>=T;-1-1-1-18-1-1-1-1

二、点检测例10.1,点检测f=imread(‘Fig1002(a)(test_pattern_with_single_pixel).tif’);w=[-1-1-1;-18-1;-1-1-1];%检测模板g=abs(imfilter(double(f),w));%滤波T=max(g(:));%得到最大值g=g>=T;%只取最大值一个点imshow(g);%显示点的位置

三、线检测可以用特定的模板来检测指定方向的线,如:若对检测图像中指定方向的线感兴趣,则可以简单地在图像上运行掩膜并对结果的绝对值做阈值处理

-1-1-1222-1-1-1-1-12-12-12-1-1-12-1-12-1-12-12-1-1-12-1-1-12水平垂直-45°+45°

三、线检测例10.2检测指定方向的线f=imread(‘Fig1004(a)(wirebond_mask).tif’);w=[2-1-1;-12-1;-1-12];%-45°方向g=imfilter(double(f),w);%滤波imshow(g,[]);%滤波结果gtop=g(1:120,1:120);%左上角图像gtop=pixeldup(gtop,4);%放大图像figure,imshow(gtop,[]);%显示放大的图像

gbot=g(end-119:end,end-119:end);%右下角图像gbot=pixeldup(gbot,4);figure,imshow(gbot,[]);

四、边缘检测虽然点检测和线检测算法都很简单,但边缘检测在实际图像处理中更为常用。边缘检测通常采用检测亮度的不连续性来实现,即采用一阶导数和二阶导数来检测。一阶导数一般用梯度来表示,公式为:常用梯度的幅值表示梯度,近似为:二阶导数用拉普拉斯算子来计算,公式为:

四、边缘检测

灰度图像灰度值截面图一阶导数二阶导数

四、边缘检测边缘检测的基本准则:找到亮度的一阶导数在幅度上比指定阈值大的位置找到亮度的二阶导数有零交差的位置matlab函数edge采用以上两个准则来检测边缘,其采用了不同的方法来计算梯度,语法为:

[g,t]=edge(f,‘method’,parameters)f是输入图像,g是边缘二值图像,method是梯度计算方法,t是梯度阈值。检测梯度的方法有:Sobel,Prewitt,Roberts,Log,Zerocrossing,Canny

四、边缘检测Sobel采用两个模板来计算图像的梯度,如下图:

水平梯度为:垂直梯度为:梯度为:Sobel边缘检测器调用语法为:

[g,t]=edge(f,‘sobel’,T,dir);T是输入的阈值,t返回的阈值,dir是梯度方向,可以是’horizontal’,‘vertical’或’both’

-1-2-1000121-101-202-101水平梯度模板垂直梯度模板

四、边缘检测Prewitt采用两个模板来计算图像的梯度,如下图水平梯度为:垂直梯度为:梯度为:Prewitt边缘检测器调用语法为: [g,t]=edge(f,‘prewitt’,T,dir);Prewitt边缘检测器比Sobel检测器要简单一些,但是容易产生一些噪声

-1-1-1000111-101-101-101水平梯度模板垂直梯度模板

四、边缘检测Roberts采用两个模板来计算图像的梯度,如下图水平梯度为:垂直梯度为:梯度为:Roberts边缘检测器调用语法为: [g,t]=edge(f,‘roberts’,T,dir);Roberts边缘检测器是最古老的边缘检测器之一,常用于硬件计算中,既简单又快速

-10010-110水平梯度模板垂直梯度模板

四、边缘检测LoG全称为:LaplacianofGaussianLoG检测器相当于先对图像进行高斯平滑,再计算二阶导数(用拉普拉斯算子)高斯函数:其关于r的二阶导数为:将图像与做卷积,就可以得到双边缘图像,然后使用零交差检测器定位边缘位置LoG边缘检测器调用语法为: [g,t]=edge(f,‘log’,T,sigma);其中T是阈值,若为0则产生闭合边缘的轮廓,sigma是高斯函数的标准差的大小,Log算子的大小为NXN,N=CEIL(SIGMA*3)*2+1

四、边缘检测LoG算子截面图

四、边缘检测Canny检测器是最有效的边缘检测器,工作原理:使用高斯滤波器对图像进行平滑,减少噪声计算每个像素的局部梯度和方向确定边缘点的局部最大值构成的脊,并跟踪所有脊的顶部8连接所有的脊像素得到边缘连接Canny边缘检测器的语法为:

[g,t]=edge(f,‘canny’,T,sigma);T是阈值向量,sigma是高斯滤波器的标准差,默认值为1

四、边缘检测不同边缘检测方法的比较:f=imread(‘lp.bmp’);f=rgb2gray(f);[gsobel,t]=edge(f,‘sobel’);figure,imshow(gsobel);[glog,t]=edge(f,‘lo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论