基于matlab的图像分割与识别

总的来说,图像分析的大致步骤为:
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简单运行了几种边缘检测算子
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_46044233/article/details/128622010