混合高斯背景建模方法运动目标检测算法的研究与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
谢谢各位老师!
1
图像的预处理
④图像的形态学处理
形态学处理效果图:
2
混合高斯建模方法的流程图
3
OpenCV的介绍和平台搭建
介绍 :
OpenCV是一个基于发行的跨平台计算机视觉库,可以运行在 Linux、Windows操作系统上。由一系列 C 函数和少量 C++ 类构成, 同时提供了JAVA、MATLAB等语言的接口,实现了图像处理和计算机 视觉方面的很多通用算法。OpenCV 拥有包括 500 多个C函数的跨平 台的中、高层 APl,它通过函数来实现用于图形处理和计算机视觉方 面的通用算法。
基于混合高斯背景建模方法的运 动目标检测算法研究与实现
指导老师: 张 卫 国 班 级:信计1101班 学 号:1108060122 答辩人:魏 勇
研究背景及意义
主要研究内容
总结
研究背景及意义
背景:
计算机视觉的研究是从二十世纪五十年代开始,起初的主要研究目 的是通过检测图像中的物体并获取这些物体间的关系来进行对图像的理 解。随着计算机视觉理论和算法研究的日益发展,视频图像信号在信息 处理和计算机视觉中扮演着越来越重要的角色。
意义:
混合高斯背景模型以其简便、灵活、高效的特点成为该领域的经典 方法,能够很好消除背景的微小扰动对运动目标检测所产生的影响,通 过使用混合高斯背景的建模方法能够比较准确地检测出复杂环境下的运 动目标,具有较好的鲁棒性和实时性。同时对目标进行动态实时跟踪定 位在智能化交通系统、智能监控系统、军事目标检测及医学导航手术中 手术器械定位等方面具有广泛的应用价值,对未来计算机视觉技术的发 展具有重要的意义。
主要研究内容
1.图像的预处理
①图像的灰度处理 ②图像去噪 ③图像的二值化处理 ④图像的形态学处理
2.混合高斯建模方法的流程图 3.OpenCV的介绍和平台搭建 4.混合高斯建模的初始化和更新 5.结果显示
1
图像的预处理
①图像的灰度处理
图像灰度化: 图像灰度化就是对彩色图像中的彩色信息进行处理,将其变为灰度图像, 对其图像的亮度值进行量化,等分成0-255共256个级别,在OpenCV中,是 将cvCvtColor(pBkImg ,pFrImg, CV_BGR2GRAY) 函数实现,参数 CV_BGR2GRAY是RGB到GRAY, cvCvtColor(...)是OpenCV里的颜色空间 转换函数,可以实现RGB颜色向HSV,HSI等颜色空间的转换,也可以转换为 灰度图像。 效果图:
1
图像的预处理
②图像去噪
图像去噪它是将输入的图像进行滤波去除噪声,增强图像效果。最常用的 有中值滤波、均值滤波和高斯滤波三种。 中值滤波: 它是将数字图像或数字序列中一个像素点的值用该点的一个邻域中各点值 的中值代替,使周围像素灰度值差别比较大的像素改取为与周围的像素值比较 接近的值,这样能使周围的值更接近真实值,它能消除孤立的噪声点,并去除 高频噪声,抑制脉冲干扰,保持图像清晰的轮廓。 均值滤波: 用邻域的均值替代原图像中的各个像素值,通过对处理的当前像素点(X,Y) 选择一个模板窗口,再把所求的均值赋给当前的像素点,作为处理后图像在该 点上的灰度值。 高斯滤波: 它通过用一个模板(或称卷积、掩模)对图像中的每一个像素进行扫描, 在用模板确定的邻域内像素,对其进行加权平均得到灰度值,在用得到的灰度 值去替代模板中心像素点的值,从而达到图像的平滑效果。
平台搭建: 首先安装下载得到的OpenCV应用程序,然后在Visual C++6. 0下编译所要的静态和动态链接库文件,包括1ib路径的 设置、include files路径的填写,再进行工程项目的链接设置 就可以了。
4
混合高斯建模的初始化和更新
混合高斯模型进行背景建模时,首先需要初始化预先定义的几个高斯模 型,对高斯模型中的参数进行初始化,并通过视频序列的像素点求出像素 点的均值和方差,并通过求其权重,求出之后将要用到的参数;其次,对 每一帧中的每个像素点与高斯模型进行匹配。最后,通过高斯混合模型的 参数学习机制,求出各个高斯模型的权重与方差的比值,并对他们的优先 级按照从大到小的顺序进行排列,排在前面的作为背景模型,反之,则为 前景。在对其进行实时更新。
1
图像的预处理
④图像的形态学处理
腐蚀(cvErode): 图像的腐蚀就是对物体边界点进行消除,使图像的边界向内部收缩, 从而去除小于结构元素的物体。 cvErode( pFrImg,img_erode, NULL,1); 膨胀(cvDilate): 膨胀就是对二值化物体边界点进行扩充,使得与物体接触的所有背景点 与物体本身进行合并,使图像的边界向外部扩张。 cvDilate( pFrImg,img_dilate, NULL,2) 效果图:Biblioteka Baidu
5
结果显示
总结
1.对视频图像的预处理过程进行简要的介绍,主要包括对视 频图像二值化、图像灰度化,以及视频图像的去噪方法,如 均值滤波、中值滤波和高斯滤波,并分别对这三种不同的滤 波方法进行比较,分析各种方法的优缺点,同时提出使用高 斯滤波方法,另外对图像进行腐蚀和膨胀处理,使图像更加 清晰美观。 2.介绍了OpenCV函数库,如何在VC++6.0下实现实验平台 的搭建,同时对混合高斯建模方法的运动目标检测原理进行 了分析,以及混合高斯模型的初始化及背景的模型的更新, 最终实现对运动目标的检测效果。
1
图像的预处理
③图像的二值化处理
图像的二值化处理是将图像上的点的灰度值置为0或255,而使整幅图 像呈现出较为明显的黑白效果。通过选取适当的阀值,将256个亮度等级的 灰度图像变成能够反映图像整体和局部特征的二值化图像处理的过程。 OpenCV中可以通过cvThreshold函数实现图片的二值化,手动指定一 个阈值,以此阈值来进行图像二值化处理。 cvThreshold(pFrImg,pFrImg,12,255,CV_THRESH_BINARY); 函数 cvThreshold 对单通道数组应用固定阈值操作。该函数的典型应用 是对灰度图像进行阈值操作得到二值图像。 pFrImg:前景的输入图像; pFrImg:前景的输出图像; 12:指的是阈值; 255:指的是max_value;