图像分割

图像分割是指将图像中具有特殊意义的不同区域划分开来, 这些区域互不相交,每个区域满足灰度、纹理、彩色等特征的某种相似性准则。图像分割是图像分析过程中最重要的步骤之一,分割出的区域可以作为后续特征提取的目标对象。

本文主要包括以下内容

  • 基于梯度的Sobel、Prewitt和Roberts算子的边缘检测
  • LoG边缘检测算法
  • Canny边缘检测算法
  • Hough变换和直线检测
  • 阙值分割技术
  • 基于区域的图像分割技术
  • 本章的典型案例
    • 基于LoG和Canny算子的精确边缘检测
    • 基于Hough变换的直线检测
    • 图像的四叉树分解

边缘检测

图像的边缘是图像的最基本特征,边缘点是指图像中周围像素灰度有阶跃变化或屋顶变化的那些像素点,即灰度值导数较大或极大的地方。图像属性中的显著变化通常反映了属性 的重要意义和特征。
边缘检测是图像处理和计算机视觉中的基本问题,其用途在于标识数字图像中亮度变化明显的点。我们曾在5.5节中讨论了一些可以用于增强边缘的图像锐化方法,本节介绍如何 将它们用于边缘检测。此外,还将介绍一种专门用千边缘检测的Canny算子

边缘检测概述

边缘检测可以大幅度地减少数据量, 并且剔除那些被认为不相关的信息, 保留图像重要的结构属性。

边缘检测方法的分类
通常可将边缘检测的算法分为两类: 基于查找的算法和基于零穿越的算法。除此之外.还有Canny边缘检测算法、统计判别方法等。

  • 基于查找的方法是指通过寻找图像一阶导数中的最大和最小值来检测边界,通常将边界定位在梯度最大的方向, 是基于一阶导数的边缘检测算法.
  • 基于零穿越的方法是指通过寻找图像二阶导数零穿越来寻找边界。通常是拉普拉斯过零点或者非线性差分表示的过零点,是基于二阶导数的边缘检测算法.

基于—阶导数的边缘检测算子包括Roberts算子、Sobel算子、Prewitt算子等,它们都是梯度算子;基于二阶导数的边缘检测算子主要是高斯—拉普拉斯边缘检测算子.

常用的边缘检测算子


Roberts算子利用局部差分算子寻找边缘,边缘定位精度较高,但容易丢失一部分边缘,同时由于图像没经过平滑处理,因此不具备抑制噪声的能力。该算子对具有陡峭边缘且含噪声小的图像效果较好。
Sobel算子和Prewitt算子都考虑了邻域信息,相当于对图像先做加权平滑处理,然后再做微分运算,所不同的是平滑部分的权值有些差异,因此对噪声具有一定的抑制能力,但不能完全排除检测结果中出现的虚假边缘。虽然这两个算子边缘定位效果不错,但检测出的边缘容易出现多像素宽度。

高斯一拉普拉斯算子

Canny边缘检测算子
前面介绍的几种都是基于微分方法的边缘检测算法,他们都只有在图像不含噪声或者首先通过平滑去除噪声的前提下才能正常应用。
在图像边缘检测中,抑制噪声和边缘精确定位是无法同时满足的,一些边缘检测算法通过平滑滤波去除噪声的同时,也增加了边缘定位的不确定性;而提高边缘检测算子对边缘敏感性的同时,也提高了对噪声的敏感性。Canny算子力图在抗噪声干扰和精确定位之间寻求最佳折衷方案。


显然,只要固定了k, 就固定了极大值的个数。
有了这3个准则,寻找最优的滤波器的问题就转化为泛函的约束优化问题了,公式的解可以由高斯的一阶导数去逼近。
Canny边缘检测的基本思想就是首先对图像选择一定的Gauss滤波器进行平滑滤波,然后采用非极值抑制技术进行处理得到最后的边缘图像。其步骤为:

matlab实现

Matlab的IPT函数edge可以方便地实现9.2.2小节的几种边缘检测方法, 该函数的作用 是检测灰度图像中的边缘, 并返回一个带有边缘信息的二值图像, 其中黑色表示背景, 白色 表示原图像中的边缘部分.


基于高斯一拉普拉斯算子的边缘检测
使用edge函数进行基于高斯-拉普拉斯算子的边缘检测的调用语法为:
BW = edge(I,’log’,thresh,sigma);
第2个参数为’log’表示采用高斯拉普拉斯算子.
thresh是敏感度阈值参数,任何灰度值低于此阈值的边缘将不会被检测到. 其默认值是空矩阵D, 此时算法会自动计算阈值. 如果将thresh设为0, 则输出的边缘图像将包含围绕所有物体的闭合的轮廓线, 因为这样的运算会包括输入图像中所有的过零点
sigma指定生成高斯滤波器所使用的标准差.默认时,标准差值为2. 滤镜大小n * n,n的计算方法为n=ceil(sigma * 3) x 2+1.

基干Canny算子的边缘检测
BW = edge(I,’canny’,thresh,sigma);
第2个参数为’canny’表示采用canny算子.
thresh是敏感度阈值参数, 其默认值是空矩阵[]. 与前面的算法不同, Canny算法的敏感度阈值是一个列向量, 因为需要为算法指定阈值的上下限. 在指定阈值矩阵时,第1个元素是阈值下限,第2个元素为阈值上限.如果只指定一个阈值元素,则这个直接指定的值会被作为阈值上限,而它与0.4的积会被作为阈值下限。如果阈值参数没有指定, 算法会自行确定敏感度阈值的上、下限。
sigma指定生成平滑使用的高斯滤波器的标准差.默认时,标准差值为1滤镜大小nxn, n的计算方法为n=ceil(sigma x 3) x 2+1.

intensity = imread('circuit.tif');
bw1 = edge(intensity,'sobel');
bw2 = edge(intensity,'prewitt');
bw3 = edge(intensity,'roberts');
bw4 = edge(intensity,'log');
bw5 = edge(intensity,'canny');subplot(3,2,1); imshow(intensity); title('a');
subplot(3,2,2); imshow(bw1); title('b');
subplot(3,2,3); imshow(bw2); title('c');
subplot(3,2,4); imshow(bw3); title('d');
subplot(3,2,5); imshow(bw4); title('e');
subplot(3,2,6); imshow(bw5); title('f');


从图中可以看出, 不同算法得到的结果存在很大差异, 下面进行简要的分析

  • 从边缘定位的精度看
    Roberts算子和Log算子定位精度较高。
    Roberts算子简单直观,Log算子则利用二阶导数零交叉特性检测边缘。但Log算子只能获得边缘位置信息, 不能得到边缘的方向等信息。
  • 从对不同方向边缘的响应看
    从对边缘方向的敏感性而言,Sobel算子、Prewitt算子检测斜向阶跃边缘效果较好,Roberts算子检测水平和垂直边缘效果较好。Log算子则不具备边缘方向检测能力。而Sobel算子可以提供最精确的边缘方向估计。
  • 从去噪能力看
    Roberts和Log算子定位精度虽然较高, 但受噪声影响大。
    Sobel算子和Prewitt算子模板相对较大因而去噪能力较强, 具有平滑作用, 能滤除一些噪声, 去掉部分伪边缘, 但同时也平滑了真正的边缘, 这也正是其定位精度不高的原因。
    从总体效果来衡量, Canny算子给出了一种边缘定位精确性和抗噪声干扰性的较好折衷办法。

注意:以上验证结杲及分析是基于阶跃变化假设进行的,但真实的灰度变化不一定都是阶跃的,有可能发生在很宽的灰度范围上, 且存在灰度的起落. 因此,我们应当根据工程实际对各种算子做以比较后加以选用.

霍夫变换

9.2节介绍了一些边缘检测的有效方法。但实际中由于噪声和光照不均等因素,使得在很多情况下获得的边缘点不连续,必须通过边缘连接将它们转换为有意义的边缘。一般的做 法是对经过边缘检测的图像进一步使用连接技术,从而将边缘像素组合成完整的边缘。
霍夫(Hough)变换是一个非常重要的检测间断点边界形状的方法。它通过将图像坐标空间变换到参数空间,来实现直线和曲线的拟合。

直线检测



注意:由于原图中的直线往往具有一定宽度,实际上相当于多条参数极其接近的单像素宽直线,它们对应参数空间中相邻的多个累加器单元. 因此每找到一个当前最大的峰值点后,需要将该点及其附近点清零,以防算法检测出多条极其邻近的“假”直线.

这种利用二维累加器的离散化方法大大简化了Hough变换的计算.参数空间a-b上的细分程度决定了最终找到直线上点的共线精度。上述的二维累加数组A组也常常被称为Hough 矩阵。

注意:使用直角坐标表示直线, 当直线为一条垂直直线或者接近垂直直线时,该直线的斜率为无限大或者接近无限大,从而无法在参数空间a-b中表示出来. 为了解决这一问题,可以采用极坐标系.

极坐标参数空间

曲线检测

Hough变换同样适用千方程已知的曲线检测。图像坐标空间中的一条已知曲线方程也可以建立其相应的参数空间。由此,图像坐标空间中的一点,在参数空间中就可以映射为相应 的轨迹曲线或者曲面。若参数空间中对应各个间断点的曲线或者曲面能够相交,就能够找到参数空间的极大值以及对应的参数:若参数空间中对应各个间断点的曲线或者曲面不能相交, 则说明间断点不符合某已知曲线.

Rough变换做曲线检割时,最重要的是写出团像坐标空间到参数空间的变换公式。例如,对于已知的圆方程, 其直角坐标的一般方程为:
(xa)2+(yb)2=r2
其中(a, b)为圆心坐标,r为圆的半径, 它们为图像的参数。那么, 参数空间可以表示为(a, b, r), 图像坐标空间中的一个圆对应参数空间中的一点。
具体计算时, 与前面讨论的方法相同.只是数组累加器为三维A(a, b, r)。计算过程是让a、b在取值范围内增加, 解出满足上式的r值, 每计算出一个(a, b, r)值, 就对数组元素A(a, b, r)加一.计算结束后, 找到的最大的A(a, b, r)所对应的a、b、r就是所求的圆的参数。
与直线检测一样, 曲线检测也可以通过极坐标形式计算。

任意形状的检测


求出参考点后,整个目标的边界就可以确定了

Hough变换直线检测的Matlab实现

通过Hough变换在二值图像中检测直线需要3个步骤。
(I)利用hough()函数执行霍夫变换, 得到霍夫矩阵。
(2)利用hougbpeaks()函数在霍夫矩阵中寻找峰值点。
(3)利用houghlines()函数在之前2步结果的基础上得到原二值图像中的直线信息。




利用Hough变换对Matlab示例图片 circuit.tif进行直线检测,显示Hough矩阵 和检测到的峰值,并在原图中标出符合要求的所有直线段.

I = imread('circuit.tif');
rotI = imrotate(I,33,'crop');
BW = edge(rotI,'canny');[H,T,R]=hough(BW);
imshow(H,[],'XData',T,'YData',R,'InitialMagnification','fit');
xlabel('\theta'),ylabel('rho');
axis on,axis normal,hold on;P = houghpeaks(H,5,'threshold',ceil(0.3*max(H(:))));
x = T(P(:,2)); y = R(P(:,1));
plot(x,y,'s','color','white');lines = houghlines(BW,T,R,P,'FillGap',5,'MinLength',7);
figure,imshow(rotI),hold on;
max_len = 0;
for k = 1 : length(lines)xy = [lines(k).point1;lines(k).point2];plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');len = norm(lines(k).point1-lines(k).point2);if(len > max_len)max_len = len;xy_long = xy;end
endplot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','cyan');


通过此列可发现在houghpeaks函数执行后, 我们共得到了5个峰值, 然而图的结果中却出现了8条直线段, 这正是houghlines函数中’FillGap’参数的作用。 将FillGap设定为80可以合井原本共线(有相同的θ和p)的各个直线段.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅:IBM 340亿美元收购红帽软件,开源生态或将迎来重大变化

来源:人工智能和大数据北京时间10月29日上午消息,据报道,IBM周日宣布,将以约340亿美元价格收购开源软件和技术主要供应商红帽公司(Red Hat)。根据两家公司的联合声明,IBM将支付现金,…

阈值分割与区域分割

本文主要包括以下内容 阈值分割技术基于区域的图像分割技术本章的典型案例 基于LoG和Canny算子的精确边缘检测基于Hough变换的直线检测图像的四叉树分解 阈值分割 我们曾在3.5节学习过灰度阈值变换的相关知识, 利用灰度阈值变换分割图像就称为阈值分割&#xf…

边缘计算芯片格局分析

来源:半导体行业观察 近日,华为和比特大陆纷纷发布了针对边缘计算的新芯片产品。华为的Ascend系列采用达芬奇架构,其中Ascend 310功耗8W算力8TOPS正是针对边缘计算市场。而之后比特大陆发布的BM1682和BM1880也是针对边缘计算市场,…

基于PCA的人脸特征抽取

我们将应用PCA技术来抽取人脸特征。一幅人脸照片往往由比较多的像素构成,如果以每个像素作为1维特征,将得到一个维数非常高的特征向量, 计算将十分困难;而且这些像素之间通常具有相关性。这样,利用PCA技术在降低维数的…

超市的100年发展史:好日子终结 亚马逊无人店是趋势

来源:网易智能 电商巨头亚马逊已经在旧金山、西雅图和芝加哥等地开设了多家无人便利店Amazon Go,它们向顾客展现了无缝购物体验这种未来购物模式,它依赖于高科技追踪技术,消费者只需将商品从货架上取下,并放入帆布手提…

图像识别初步

本文主要包括以下内容 模式与模式识别的基本概念过度拟合最小距离分类器基于相关的模板匹配本章的典型案例分析 基于最小距离分类器的鸾尾属植物分类基于相关技术的图像模式匹配 模式识别概述 模式识别(Pattern Recognition)是人类的一项基本智能,在日常生活中…

下一个人才大缺口:量子计算研究人员

来源:36Kr初创公司Zapata Computing的创始人兼首席执行官克里斯托弗萨瓦(Christopher Savoie)表示,他向三位专攻量子计算的外国科学家提供了就业机会,他在等他们的工作签证获得批准。但几个月过去了,这家位…

LIBCMTD.lib与libcpmtd冲突的解决方法。

error: 1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2YAPAXIZ) 已经在 LIBCMTD.lib(new.obj) 中定义 1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??…

基于PCA和SVM的人脸识别

svm推广到多类情况 一对多的最大响应策略(one against all) 假设有A 、B、C.. D四类样本需要划分。在抽取训练集的时候,分别按照如下4种方式划分。 A. 所对应的样本特征向量作为正集(类标签为1), B、C、D所对应的样本特征向量作为负集(类…

为何协作机器人能够兴起?“协作机器人-激烈的市场谁能杀出重围”

来源:机器人大讲堂作者:包文涛,哈尔滨工业大学机器人研究所工学硕士,在机器人和工业自动化领域有超过10年的专业经验。曾任职于ABB集团,先后在新加坡、美国、加拿大等地工作,在产品管理、技术方案、项目工程…

5款新颖的ReSharper插件

ReSharper是著名的代码生成工具。自ReSharper 8.0版本发布以来,新的扩展管理器、模板设置、分发安装等功能改革使得对插件的要求变高。接下来小编整理了5款新颖插件。 JetBox 当开发者工作在不同的机器设备时,这个插件可以利用DropBox同步ReSharper设置。…

机器学习实战之K近邻算法

k近邻算法概述 简单地说,K近邻算法采用测量不同特征值之间的距离方法进行分类。 优 点 :精度高、对异常值不敏感、无数据输入假定。 缺点:计算复杂度高、空间复杂度高。 适用数据范围:数值型和标称型。 它的工作原理是:存在一个样本数 据集合,也称作训练样本集,并且样本集…

神经网络的叛离:32年前从心理学与生理学分离的瞬间

来源:大数据文摘编译:Andy反向传播算法隶属于深度学习,它在解决模型优化问题的方面有着重要的地位。这一算法由被誉为深度学习之父的Geoffrey Hinton提出。1986年,他发表了名为Learning representations by back-propagating erro…

希尔排序-插入改进

引自:http://hi.baidu.com/gsgaoshuang/item/17a8ed3c24d9b1ba134b14c2 学习算法的一个好网站 http://student.zjzk.cn/course_ware/data_structure/web/paixu/paixu8.2.2.1.htm 希尔排序(Shell Sort)又称为缩小增量排序,输入插入…

机器学习实战之决策树

你是否玩过二十个问题的游戏,游戏的规则很简单:参与游戏的一方在脑海里想某个事物,其他参与者向他提问题,只允许提20个问题,问题的答案也只能用对或错回答。问问题的人通过 推断分解,逐步缩小待猜测事物的范围。决策树的工作原理与20个问题类似,用户输人一系列数 据,然后给出游…

2018全球硬科技创新暨“一带一路”创新合作大会,这些硬科技都要来!

来源:新华社近年来,多个省市陆续开始了一场科技标签秀,以深圳等为代表的“人工智能”、以上海为代表的“金融科技”,以贵州为代表的“大数据”等纷纷亮相,而伴随着“一带一路”新丝路的战略实施,西安&#…

吴恩达:人工智能寒冬不会到来,但我们太乐观了

来源:量子位AI Winter Is Coming?人工智能领域的各路专家学者曾经为这个话题吵翻了天。最近,这个话题又有更新了。人工智能寒冬论的作者Filip Piekniewski在博客上发文,给自己提出的观点增加了新的证据。非常巧的是,吴…

自动驾驶中常用的四类机器学习算法

来源:智车科技机器学习算法已经被广泛应用于自动驾驶各种解决方案,电控单元中的传感器数据处理大大提高了机器学习的利用率,也有一些潜在的应用,比如利用不同外部和内部的传感器的数据融合(如激光雷达、雷达、摄像头或物联网)&…

国际基因编辑科技发展报告

来源:全球技术地图作者:贾晓峰 中国科学技术信息研究所摘要:以特异性的改变遗传物质靶向基因序列为目标的基因编辑技术是近年生命科学领域最热门的研究领域之一。围绕基因编辑的相关领域研究和人物事件连续多年入选Nature国际科学事件和科学人…

科学家发现大脑动态评估信息重要性机制

大脑中部的丘脑室旁核(PVT) 图片来源:中科院深圳先进技术研究院来源:中国科学报周末该在家看书还是出去K歌?寒冬将至,该坚持健身还是涮个火锅?每天,人们都会面临上百种选择。以往&am…