基于OpenCV的小型生物运动检测技术研究_第1页
基于OpenCV的小型生物运动检测技术研究_第2页
基于OpenCV的小型生物运动检测技术研究_第3页
基于OpenCV的小型生物运动检测技术研究_第4页
基于OpenCV的小型生物运动检测技术研究_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

1、    基于opencv的小型生物运动检测技术研究    郭志彪段为摘要;从图像处理在视频监控的角度出发提出了一种针对小型生物的检测,将open cv开源计算机视觉库源代码作为基础函数库,改写或者调用其中的函数,在visual studio 2015平台上编程實现。将帧差法,背景减除,灰度化,二值化阈值分割等图像操作应用于视频监控中。实验结果表明,本文中方法具有良好的实时性,能够精确检测和跟踪小型生物,具有很好的鲁棒性和精确性。关键词:运动目标检测;机器视觉;图像处理opencv:tp18 :a :1009-3044(2017)07-0171-02运动目

2、标的检测及跟踪技术在机器人导航、安全监控、航天行业等领域都有着广泛的应用,并成为当前机器视觉领域研究重点之一。但是当前的技术对于移动速度快、体积小的小型生物的跟踪很难达到准确度高,实时性强。1运动目标检测的基本方法近些年来,国内外的学者们在运动目标检测的问题上,已经提供了许多有效的方法,但是很多算法不能同时满足实时性,精确性的要求,特别是对于移动速度快的小型生物。目前,常用的运动目标检测算法有以下几种:光流法,基于卡尔曼滤波的运动目标跟踪,背景差分法等。1.1光流法光流法基本原理为检测序列图像中出现的瞬时位移场,从连续的图像序列中计算光流场,把计算得到的光流,作为检测运动目标的重要特征。光流法

3、不受背景变化的影响,但对于噪声多的场景,光流法容易出现误判的情况。1.2基于卡尔曼滤波的运动目标跟踪基于卡尔曼滤波的运动目标跟踪是将目标的运动轨迹作为模型,预测目标下一时刻的位置。能减少运算量,缩小检测区域,但是当运动目标长时间被遮挡时会存在目标跟踪丢失的情况。1.3背景差分法背景差分法是事先将图像储存起来作为背景参考模型,再用当前图像与背景作差,找出在灰度上与背景有较大差异的点,检测运动区域。背景差分法对于运动速度快的运动目标,检测准确,但对于动态变化的场景,检测精度低。综上所述,现有技术存在着对于快速移动的小型生物检测精度不高的问题。作者试图基于帧差法,利用open cv函数库,寻求一种针

4、对移动速度快、体积小的运动物体的检测。研究主要实现的目标是对移动速度快的小型生物的检测,主要是利用视频图像序列中连续两到三帧的差异来检测运动区域。首先,获取相邻两帧图像,将前一帧作为背景,用后一帧减去背景,获取图像亮度差绝对值较大的区域,一般亮度差异较大的区域可认为由运动物体引起的。帧差法算法实现简单,受光线影响小,适应于动态场景,稳定性强。但是该算法对于两帧获取时间间隔要求高,时间间隔选取不适当,容易出现“重影”和“空洞”的现象。研究对该算法进行改进,以提高检测的精度。2系统组成运动目标检测系统主要由视频获取,读取相邻两帧,图像灰度化处理,相邻帧的图像对应像素值相减,差分图像二值化。系统首先

5、获取实时采集的序列图像。其次,读取序列图像中相邻两帧图像,对该两帧图像进行灰度化处理。将前一帧作为背景,将后一帧图像的像素值减去背景对应的像素值,获取变化大的区域,确定运动目标的位置。最后对运动目标进行二值化突显运动区域。3算法原理3.1图像灰度化研究使用cvtclor函数实现图像的灰度化。函数声明为src和dst分别是源图像和输出图像;code是一个掩码,表示源图像和输出图像之间的转化模式。最后的&tcn表示dst图像的波段数,默认值为0,可从参数code中推断。code的模式包括:3.2帧差算法研究采用帧差算法实现运动目标提取,使用函数subtract()。函数声明为void su

6、btract(inputarray src1,inputarray src2,outputarray dst,inputarray masknoarray(),int dtype=-1)其中,src1为第一帧图像,src2为第二帧图像,dst为输出图像,mask为自定义掩码。)type为两帧相减的方式。本函数实现了帧差算法,读取一段序列图像,获取相邻两帧的图像,将前一帧图像作为背景src1(i),后一帧作为当前图像src2(i),用当前图像的像素值减去背景相应的像素值,获取变化较大的区域,该区域可认为由运动物体造成,具体公式可参考公式(1)。dst(1)=saturate(srcl(d-src

7、2(i)if mask(i)0 (1)3.3差分图像二值化差分图像二值化是在上一步获取的差分图像的基础上,进一步凸显运动物体的区域。具体实现为先设定一个阈值t,当图像的像素值大于该阈值时设定为1,否则设定为0。接着将所有设定为1的点的灰度值设置为255,所有设定为0的点的灰度值设置设置为0,具体公式可参考公式(2)。(2)4算法在编程环境下的具体实现研究算法的具体实现如下:首先建立一个videocapture结构体,导入一段序列图像。然后读取该序列图像中的一帧图像,保存在类型为mat的结构体中,等待5毫秒后,读取下一帧图像,同样保存在类型mat的结构体中。接着调用灰度化函数cvtcolor()

8、对两帧图像进行预处理。调用矩阵相减函数subtract(),设定一个阈值,对相减的差分图像进行二值化。最后调用namedwindow()函数建立窗口并调用imshow()函数显示图像。5实验结果及分析研究对帧差算法进行改进,调用opencv函数库中的函数,在visual studio 2015平台编程实现了对于小型生物的运动检测,实验结果见下图。图2所示为实时图像第一帧,图3所示为相邻帧,将图2,图3分别灰度化后再相减后得到图4所示图像,图5为二值化后的图像。其中在获取相邻两帧的时间间隔以及二值化的阈值,需根据实际处理的图片来不断调整数值,经过多次实验不断尝试后,时间间隔在10-30毫秒之间为最好,二值化的阈值在10-13时,运动物体的真实目标区域较完整,“重影”、“空洞”现象较少。研究算法检测效果比较好,对于移动速度快的小型生物也能很好的检测出来,真实目标区域较完整,背景噪音较少,而它错误可以通过形态学去噪、阴影抑制

温馨提示

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

最新文档

评论

0/150

提交评论