基于matlab的图像分割与识别

  • Post author:
  • Post category:其他



总的来说,图像分析的大致步骤为:


1、把图像

分割

成不同的区域或把不同的对象分开;

2、找出分开的各区域的特征;

3、识别图像中要找的对象或对图像分类;

4、对不同区域进行描述或寻找出不同区域的相互联系,进而找出相似结构或将相关区域连成一个有意义的结构。


图像分割的基本策略


即基于灰度值的两个基本特性:

1、不连续性——区域之间

2、相似性——区域内部

–>根据图像像素灰度值的不连续性

先找到点、线(宽度为1)、边(不定宽度)再确定区域

–>根据图像像素灰度值的相似性

通过选择阈值,找到灰度值相似的区域,区域的外轮廓就是对象的边


图像分割算法分类:


1、边缘分割技术

常见有微分算子、Canny算子和LOG算子,常用微分算子有Sobel算子、Roberts算子、Prewit算子

2、阈值分割技术

常用有全局阈值、Otsu阈值分割、迭代式阈值分割

3、区域分割技术

分为区域生长法和分水岭分割法



对边缘的检测



边缘:指的是图像中像素灰度有阶跃变化或屋顶状变化的那些像素的集合(两个具有相对不同灰度值特性的区域的边界线)


适用于



假定问题中的区域是非常类似的,两个区域之间的过渡,仅仅根据灰度的不连续性便可确定


不适用于



当假定不成立时,阈值分割技术一般来说比边缘检测更加实用

最优的阶梯型边缘(step edge)检测算法—

Canny边缘检测方法


在如下的三个标准意义下,Canny边缘检测算子对受白噪声影响的阶跃型边缘是最优的:

(a)检测标准:低误判率,即尽可能少地把边缘点误认为是非边缘点;

(b)定位标准:高定位精度,即准确地把边缘点定位在灰度变化最大的像素上;

©抑制虚假边缘。


Canny边缘检测算法流程:


1、用高斯滤波器平滑图像

2、用一阶偏导的有限差分来计算梯度的幅值和方向

3、对梯度幅值进行非极大值抑制

4、用双阈值算法检测和连接边缘。

matlab简单运行了几种边缘检测算子

在这里插入图片描述



版权声明:本文为qq_46044233原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。