边缘检测帧差法matlab,【数字图像处理】帧差法与Kirsch边缘检测实现运动目标识别与分割...
视频分割算法可以从时域和空域两个角度考虑。时域分割算法利用视频流时域连续性,通过 相邻帧的时域变化来检测运动目标。在摄像头静止的情况下,常用的方法有帧差法和减背景法。
帧差法比较直观实用,对光照的变化干扰不敏感,但是 对目标的检测不准确,对于缓慢运动的目标甚至可 能无法提取出目标边界,对于快速运动的目标提取 出的目标区域又过大。减背景法容易得到目标的准 确描述,对静止和非静止的目标都适用,但是背景更新的计算量比较大,还必须建立合适的模型,同时在 背景大幅运动的场合也不适用。
空域分割算法利用图像的空域属性( 颜色、 亮度、纹理以及边缘信息等) 来提取视频对象。例 如基于边缘的目标提取算法,虽然算法能检测出精 确的图像边缘,但是检测过程存在较大的盲目性,检 测出的边缘不仅包括所需要的运动目标的边缘,连 背景中的静止物体的边缘也一并被检测出来,这就 给目标分割带来困扰。
1.运动目标检测
采集某一时间段里的视频序列图像,设f( x,y, t) 表示t时刻当前帧,其前后相邻的两帧分别用 f( x,y,t - 1) 和f( x,y,t + 1) 表示。t时刻相邻两帧之间作差分运算:
|f(x,y,t)-f(x,y,t-1)|=T 前景
其中f(x,y,t),f(x,y,t-1)分别为t,t-1时刻对应像素点的像素值,T为阈值。
以下图为例:
仅根据两帧序列图像间的差分来检测运动目标存在许多问题。如图1 所示,d、e 两帧图像差分的结果中,由于相邻两帧之间的差分并不完全是运动目标,上一帧被运动目标覆盖的背景,会在下一帧显露出来,并被误判为前景目标,这样导致得到的运动目标区域包括背景区域,因此会比实际运动区域大。
在实际应用中,为了后续的运动分析与理解,总希望得到最准确的运动目标,因此本文中采用三帧差分代替两帧差分来实现运动目标检测。三帧差分法利用两帧差分结果Dt,t-1 ( x,y,t) 和 Dt,t + 1 (x,y,t) 的“与”运算确定当前帧f( x,y,t ) 中运动目标边缘D3( x,y,t) ,即
其中,× 为与运算。图1 是一段subway 视频,图1f为得到的运动目标边缘D3(x,y,t) ,可以看出三帧差分法有效地解决了运动目标的遮挡和背景重现问题,得到了准确的运动目标边缘,并且在一定的程度上抑制了光照、阴影以及噪声的影响。
------------------------------------------------------------------------分界线----------------------------------------------------------------------------------------
经过“与”运算后运动区域中的噪声得到了一 定程度的抑制,但在D3(x,y,t) 中还存在着部分孤 立的噪声点,若不加处理将影响对运动目标的有效 检测。可用邻域平均、中值滤波和高斯低通滤波等方法来抑制噪声。
对于邻域平均法,如把求灰度平均值的邻域取得太大,或反复进行若干次操作,则会使图像模糊,图像的质量也会随之降低。中值滤波不仅能有效滤除图像中的孤立噪声点,与邻域平均法相比还能有效保护边界信息。图2为中值滤波前后的效果图。邻域S 采用大小为3 × 3 的窗口。
2.边缘检测方法之Kirsch边缘检测
该算法既能保持图像的边缘细节又具有一 定的抗噪声能力,有效地克服了经典的一阶和二阶微分边缘检测算子对噪声敏感的缺点。虽然该算法计算开销比较大,但它可以产生最大的梯度边界。 Kirsch 算子从8 个方向对图像边缘信息进行提取。 详细的边缘检测算法描述如下: 首先获得如图3 所示的8个滤波模板。
下一步的操作有点绕,具体是:将这八个模板依次在图像中一点(x,y)处进行滤波,那么会产生八个值,选出其中的最大值Fmax。按这种取值方法,得到了整幅图的滤波值。
由fmax ( x,y ) 组成滤波图像,基于滤波图像中的极值点可得到极值点图像FImax ( x,y) ,FImax ( x,y) 定义为:
FI ( x,y) 表示图像中( x,y) 处的像素值,若 ( x,y ) 在滤波图像中是极值点,则FI ( x,y ) = fmax ( x,y ),否则FI( x,y ) = 0。
根据极值点图像FImax和预设的阈值T,可得到边缘图像EI,EI 定义为:
EI( x,y) 表示边缘图像中( x,y) 处的像素值,若FI( x,y) > T,则EI( x,y) = 1,否则,EI( x,y) = 0
在边缘检测时,一些重要的边缘细节由于干扰或对比度不足变得模糊、微弱。直接利用Kirsch 边 缘检测获得的边缘线容易出现断点,效果不是很理 想。本文中通过图像边缘连续性检测来调节阈值 T,从而得到连通的图像边缘。通常在边缘不连续的地方,象素值会有较大的差异,文中用4 × 4 的方向模板计算目标点周围6个方向上的差值,当最大差值超过某个门限值时,则可认为该点为不连续点,由此来检测图像边缘的不连续性。通过该算法在抑制噪声、保证边缘连续性的同时较好地保护了低强度的边缘细节,获得了令人满意的效果。算法流程图如左图,预设的阈值T 取不同值的情况下,边缘检测效果如右图所示。
阈值T决定着边缘定位的精度和边缘的连续。T较小时,边缘定位精度高,连续性差,低强度的边缘细节被漏检;T 较大时,情况正好相反,因此,要根据需要调节阈值T。
3.运动目标分割
设D3(x,y) 是经过中值滤波后由三帧差分得到的运动区域掩模,EI(x,y,t) 是由Kirsch 边缘检测算法得到的当前帧的边缘掩模,则最终的运动目标边缘图Mt为:
结果下图所示:
由图6可以看出,将时空域相结合可以准确的检测出运动目标的边缘,有效地克服了阴影问题。但所得到的边缘仍存在不连续的问题,需要对运动对象边缘进行连接。
4.目标提取
文中采用自适应数学形态学对图像边缘进行连接,对每一个端点,用自适应椭圆结构元素进行自适应膨胀运算,结构元素的大小和方向可根据像素的局部特性如斜率、曲率进行调整,得到膨胀后闭合的运动目标边缘B( x,y,t ) ,因为经过膨胀处理,原图像边缘难免会变宽,因此需要对处理后的B( x,y,t) 图像结合EI( x,y,t ) 重新进行边缘定位,得到最终的闭合的运动目标边缘O(x,y,t) :
最后,对闭合的运动目标边界O(x,y,t) 进行区域填充,得到运动目标的二值掩模图像,将其与当前帧f( x,y,t) 相结合,便实现了对运动目标的分割,结果上面右图 所示。与图1中基于帧差法的分割结果相比较其定位精度高,分割效果好
5.结论和小结
文中采用的方法综合利用了时域和空域的检测结果来提高分割性能。帧差法提取运动信息的突出特点是实现简单、运算速度快,而且由于相邻帧间环境亮度变化很小,受光照突变影响较小,具有较强的鲁棒性。结合改进的Kirsch 边缘检测算法和基于形态学的边缘连接算法,有效地消除了三帧差分带来的“重影”和“空洞”现象,提取了关于运动目标更为完整的区域。实验表明,本算法能够快速响应实际场景的变化,准确、有效地进行运动对象分割。
原文参考地址:http://suo.im/4LuhH4
原文:https://www.cnblogs.com/-wenli/p/11747060.html
边缘检测帧差法matlab,【数字图像处理】帧差法与Kirsch边缘检测实现运动目标识别与分割...相关推荐
- 直接灰度变换法matlab,数字图像处理-灰度变换(附MATLAB代码)
目录 图像增强 1.灰度变换 (1)线性变换 (2)分段线性变换 (3)非线性灰度变换 2.直方图修正法 (1)直方图均衡化 (2)直方图规定化 图像增强 图像增强的目的:(1)利用一系列技术改善图像 ...
- MATLAB数字图像处理复习概览
MATLAB数字图像处理 第1章 绪论 数字图像的概念 数字图像处理 第2章 数字图像处理基础 数字图像的生成与表示 数字图像的数值描述 第3章 图像基本运算 图像几何变换 几何变换基础 位置变换 几 ...
- matlab对于处理数字图像的优点,学习MATLAB数字图像处理经验谈
学习MATLAB数字图像处理经验谈 学习数字图像处理经验谈 (赵小川) 一.面向应用:层层分解.抓住要点 我们学习数字图像处理的最终目的还是应用,不管是用它来研制产品还是研发项目抑或是研究课题,都要用 ...
- MATLAB数字图像处理系统-形状分类
MATLAB数字图像处理系统-形状分类 摘 要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人 ...
- matlab fspeical,MATLAB数字图像处理.doc
MATLAB数字图像处理 MATLAB常用图像操作 转换图像类型 例1.对一幅图像进行二值化处理,代码及结果如下: load trees BW=im2bw(X,map,0.4); imshow(X,m ...
- Matlab数字图像处理——图像文件的读取
文章目录 一.Matlab中获取图像信息的函数 imfinfo 二.Matlab读取图像文件的函数 imread 三.Matlab保存图像文件的函数 imwrite 完整目录 一.Matlab中获取图 ...
- MATLAB数字图像处理系统[多功能]
MATLAB数字图像处理系统[多功能] 目录 实验一 MATLAB数字图像处理初步 实验二 图像的代数运算 实验三 图像增强-空间滤波 实验四 图像分割 2 实验一 MATLAB数字图像处理初步 一. ...
- 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识
本节书摘来自异步社区<精通Matlab数字图像处理与识别>一书中的第6章,第6.2节,作者 张铮 , 倪红霞 , 苑春苗 , 杨立红,更多章节内容可以访问云栖社区"异步社区&qu ...
- matlab空域滤波,MATLAB数字图像处理基本操作及空域滤波
MATLAB数字图像处理基本操作及空域滤波 实验一 MATLAB 数字图像处理基本操作及空域滤波实验目的1.了解有关数字图像处理的基本概念,熟悉Matlab软件中关于数字图像处理的基本命令,掌握利用M ...
- MATLAB 数字图像处理GUI二值图像实验
电信19-2 翁大弟 摘要 图像信息是人类获取信息的重要来源及利用信息的重要手段,数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展:二是广泛的农牧业.环境.军事.工业等方面的应用需求 ...
最新文章
- linux系统默认硬盘启动,帮助中心--起点操作系统(StartOS)官方网站
- 基于深度学习的文本数据特征提取方法之Glove和FastText
- Linux学习第三章
- 马尔科夫链蒙特卡洛算法(python)
- LR(0)语法制导翻译
- RBAC、控制权限设计、权限表设计 基于角色权限控制和基于资源权限控制的区别优劣
- oracle 12c chad,ORACLE 12.2RAC之问题 ora.chad OFFLINE
- My cnblogs's first day
- 第一次离线写Blog,先上个图先
- 校招需要看的书 巩固的知识
- Ubuntu 16.04-17.04开机自动root用户登录(测试可用)
- Confluence 6 CSS 指南:修改顶部背景
- tigervnc远程控制linux,CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面
- shallow clone
- ELK的端口以及加入x-pack的密码问题
- Flutter TextField 文本输入框的基本属性及详解
- 利用for循环写三角形(倒立反方向直角三角形 )
- Vue3 生命周期Hooks函数与调度器Scheduler的原理
- 企业自动化办公之请假单-下篇
- MBR与GPT,BIOS与UEFI..总结