首页 > 其他分享 >基于数字图像matlab-运动物体检测

基于数字图像matlab-运动物体检测

时间:2024-10-26 18:17:05浏览次数:3  
标签:视频 课程设计 检测 数字图像 目标 灰度 matlab 图像 物体

                        目录

一. 课程设计任务

二. 课程设计原理及设计方案 1

三. 课程设计的步骤和结果

. 设计体会 4

. 参考文献 5

             一  课程设计任务

    在视频监控领域,需要对监控画面进行存储。长时间的存储占用了大量

的硬盘空间。为了节省存储磁盘空间,对于监视场景内没有活动目标出现时的

视频画面一般不进行存储。只有在检测到画面中存在运动目标时才进行录像存

储。设计一个视频监控软件,完成对运动目标的检测及视频存储功能。

     要求完成功能:

     1、对连接在计算机上的视频获取设备进行控制;

     2、显示动态视频画面;

     3、对画面中内容进行运动目标检测;

     4、对有变化的画面进行存储,并按照系统时间命名文件名;

     5、设计软件界面。

           课程设计原理及设计方案

  1. 运动目标检测的原理

    背景差法:背景减法( Backg round Subtract ion), 或称背景差法, 是目前运动检测中的主流方法, 它是利用含有运动目标的当前图像与背景图像的差分来检测运动区域的一种技术.

背景差法基本思想是: 首先, 用事先存储或者实时得到背景图像序列为每个像素进行统计建模, 得到背景模型Bk, 将当前含有运动目标的图像帧fk 和背景模型Bk 相减, 即公式( 1), 其中Dk 为作差后的结果; 其次, 将计算结果在一定阈值T 限制下进行二值化, 如公式( 2), 判断出当前图像中出现的偏离背景模型值较大的那些象素, 则为出现的运动目标像素, 其中Rk 为含有目标的二值化图像. 由于运动物体和背景在灰度或色彩上存在差别, 相减、阈值操作后得到的结果直接给出了目标的位置、大小、形状等, 从而得到较完整的目标信息。

     

连续帧间差分法:面向变化检测的差分法是最为常见的运动目标检测和分割方法之一。它是基于背景像素点的灰度值和位置都不变这一原则来检测前景运动目标的,通过对不同时刻的两幅图像做差分运算得到差分图像。在差分图像中,灰度不发生变化的那部分被减掉,这里包括大部分背景和一小部分目标。从差分图像中,很容易发现目标运动信息,再通过对差分图像的后续处理,确定目标在图像上的位置。帧差法利用了视频序列相邻帧之间的强相关性进行变化检测。此方法的最大特点是运算速度快,适用于实时性要求较高的应用环境,且对环境整体光照变化不敏感。连续帧之间利用两帧图像的灰度差分析视频图像序列的运动特性,通过比较目标在两个不同时刻的画面,识别由于物体运动而造成的区域差别。在实际计算过程中,差分是指将两帧相邻目标图像逐点相减,形成差分图,在差分图中如果差分值大于给定的闭值,则相应的像素取,“l”,否则取“0”,由此产生非零区,利用非零区就可以检测出运动

 视频图像运动目标检测的基本任务是在给定的二维连续图像序列中发现目标并从视频场景中分割出运动目标,同时给出目标的特征信息。视频图像序列中的第k帧可以表示为:

其中:M(x,y,k)为运动目标,B(x,y,k)为背景部分,n(x,y,k)为噪声部分。

由于本文基本的差分法处理图像,基本原理主要是先通过灰度值变换,获得两幅图像,之后两幅图像作差,获得二值图像,然后将每个像素值作和,通过阈值比较,检测两幅图像的差异程度,其中差异程度可以根据图像的要求自己设定,这个在最后的GUI界面中都有体现。

视频的保存是通过专门的函数来实现的,首先通过imwrite()函数来实现图像的存储,之后再通过视频合成函数来实现视频的存储.

        

          三 课程设计的步骤和结果

摄像头为主要的视频图像获取工具,matlab中有专门的控制语句。

摄像头控制语句主要是以下:

obj=videoinput('winvideo'); 其中winvideo为摄像头信息,此函数返回obj对象,用于以后处理图像对象。

preview(obj);该函数用于预览摄像头的图像。

getsnapshot(obj);该函数用于从obj对象的视频中获取图片。

图像的差值检测是该实验的关键,是分辨图像是否存储的基础。

实现差值检测的控制语句主要如下:

rgb2gray(getsnapshot(obj));该函数实现将getsnapshot获得的图片进行灰度值处理,获得两张图片进行差值比较。

abs(rgbgray1-rgbgray2);该函数用于实现两帧图像的差值处理,其中rgbgray1、rgbgray2为两幅灰度值图像。

im2bw(rgb_cha, 0.2);该函数用实现将两幅灰度值的差值图像进行二值化,用于后面的检测处理。

imwrite(frame, '.bmp','bmp');该函数用于将最后的图像进行处理。

 3.2流程图

   

               四 设计的体会 

    利用matlab软件实现动态目标监测。首先利用MATLAB控制摄像头获得视频,然后通过rgb2gray函数将获得的RGB图像获得灰度值图像,然后通过abs(rgbgray1-rgbgray2)函数差值变换将灰度值图像变为二值图像,通过计算二值图像的像素值来判定两帧图像的差异程度,由差异程度是否超过阈值变换判断是否有动态目标出现,则将摄像头获得图像进行存储,否则放弃存储。

利用matlab软件的GUI界面设计,将整个过程及监测的精度集中在一个界面上。本课程设计的重点是实现动态目标的检测,本设计用的差值法检测.                

运动目标的检测这一题在数据的实时采集与比较时遇到了困难,因为数据采集的同时进行数据的比较与对摄像头的控制不易实现。 这次课程设计就我个人而言,感觉有些困难,因为基础薄弱,这方面的知识接触的又较少,所以在实践的过程中遇到了很多困难。但我个人还是比较喜欢此类设计题目,这种学习方式比在课堂上机械授课能得到更多的知识和锻炼机会。我觉得此次试验重要的不仅仅是完成此次试验,还要学会一种学习的方法,很多知识必须自己实践才能牢牢掌握。这样的课程设计内容对于提高同学的动手能力、思考能力有很大的帮助。在刚开始进行试验室,由于对这种工具及语言不了解,对自己能否完成实验产生了怀疑,当随着慢慢的了解,发现其实并不像想象中的那么难,只要自己肯投入精力去学习,这并不是一件困难的作业。因此,所有的事都一样,也许表面上看上去很困难,但只要我们不怕困难,用心学习,就一定能完成.

经灰度化后图像如下图所示

             五 参考文献

  1. 罗国强 视频中运动目标检测算法研究及实现 广东工业大学 2007
  2. 郭 旭,张丽杰 运动目标检测视频监控软件的设计与实现  《计算机技术与发展》 2010
  3. 冈萨雷斯. 数字图像处理 MATLAB.电子工业出版社.2005年
  4. 余成波.数字图像处理及Matlab实现.重庆大学出版社.2003年

标签:视频,课程设计,检测,数字图像,目标,灰度,matlab,图像,物体
From: https://blog.csdn.net/2401_84170369/article/details/143257540

相关文章

  • (49)MATLAB实现迫零均衡器原理与代码
    文章目录前言一、迫零均衡器设计说明二、迫零均衡器MATLAB源代码1.函数说明2.代码实现3.辅助函数前言使用MATLAB实现迫零均衡器。给出完整的MATLAB设计源代码。一、迫零均衡器设计说明理想的迫零均衡器有无限多个抽头权系数,是不能实现的,本文考虑有2M+1个抽头权......
  • 基于圆柱体镜子和光线跟踪实现镜反射观测全景观图的matlab模拟仿真
    1.程序功能描述基于圆柱体镜子和光线跟踪实现镜反射观测全景观图.模拟的场景如下所示: 2.测试软件版本以及运行结果展示MATLAB2022a版本运行 3.核心程序%%step1fori=1:mmx_new(i)=i-round(mm/2);endfori=1:nny_new(i)=i-round(nn/2);......
  • 基于BP译码的LDPC误码率matlab仿真,分析码长,码率,信道对译码性能的影响,对比卷积码,t
    1.算法仿真效果       本程序系统是《m基于BP译码的LDPC误码率matlab仿真,分析不同码长,码率,信道对译码性能的影响,对比卷积码,turbo码》的的升级。 升级前原文章链接 增加了更多的不同码长,不同码率,不同信道对LDPC译码性能的影响,并增加了BCH编译码的对比。 matl......
  • 学习笔记489—MATLAB针对大于2GB变量保存的问题
    MATLAB针对大于2GB变量保存的问题新安装的MATLAB中保存2GB以上大小的数据时会出现如下警告:未保存变量xx,对于大于2GB的变量,请使用MAT-file版本7.3或更高版本。其解决方案是:进入MATLAB主页,点击“预设”选项:点击常规后,点击MAT-File,选择第一个格式即可。 参考链接:https:/......
  • 基于BP译码的LDPC误码率matlab仿真,分析码长,码率,信道对译码性能的影响,对比卷积码,t
    1.算法仿真效果本程序系统是《m基于BP译码的LDPC误码率matlab仿真,分析不同码长,码率,信道对译码性能的影响,对比卷积码,turbo码》的的升级。升级前原文章链接增加了更多的不同码长,不同码率,不同信道对LDPC译码性能的影响,并增加了BCH编译码的对比。matlab2022a仿真结果如下(完整......
  • 基于遗传算法的智能天线最佳阵列因子计算matlab仿真
    1.课题概述      基于遗传算法的智能天线最佳阵列因子计算。智能天线技术利用自适应阵列处理技术改善无线通信系统的性能,尤其是提高接收信号质量、抑制干扰和增强定位能力。在智能天线的设计中,阵列因子(也称加权向量或波束形成向量)的选择至关重要,它直接影响了阵列的方向性......
  • 基于贝叶斯优化卷积神经网络(Bayes-CNN)的多因子数据分类识别算法matlab仿真
    1.算法运行效果图预览(完整程序运行后无水印) 贝叶斯优化过程  贝叶斯优化后的CNN训练和识别结果 标准的CNN的识别结果 2.算法运行软件版本matlab2022a 3.部分核心程序(完整版代码包含详细中文注释和操作步骤视频)%使用贝叶斯优化算法确定最优的批......
  • 20241025物体分割
    在计算机视觉中,语义分割、实例分割和全景分割都是图像分割的重要方法,它们帮助模型理解图像中每个像素的语义信息。下面是对这三种分割技术的解释和示例:语义分割(SemanticSegmentation)语义分割是指将图像中的每个像素分类到预定义的类别中。在语义分割中,不区分同一类别的不同......
  • 我嘞个超绝MATLAB——矩阵
    矩阵的建立我们创建矩阵有三种方法:直接输入法函数创建法文件导入直接输入法就是将矩阵直接输入,这种方法适合矩阵数不多的时候使用直接输入要用[]当标识符号,所有元素都必须在[]中,元素和元素之间用空格或逗号链接,行与行之间用分号或回车链接函数创建法要想用函数输......
  • 考虑阶梯式碳交易与供需灵活双响应的综合能源系统优化调度(Matlab代码实现)
     ......