一、课题功能
实现输入一个视频,分帧,通过差影法提取运动目标,框定运动目标轮廓,结合形态学进行干扰地去除,再利用卡尔曼的方法对应运动目标进行预测,及行为的判别。带GUI界面。
二、思路框架
三、算法流程
1、先获得一个背景图片,这里选择第一幅图片作为背景图;
2、对背景进行中值滤波;
3、对每隔3帧进行处理,因为一帧一帧的话效果不明显,比如有行走的位移,一帧之间现象不明显;
4、每一帧都和背景图片做差,也就是留下人体轮廓区域,其他全部变成黑色的,extract函数就是如何对两帧图片进行相减的
进入到extract子函数,这里讲的是,两图相减,extract子函数里面的imabsdiff就是做差函数,fore = imabsdiff(Imwork,Imback);这里是Imwork当前帧和背景帧Imback做差,得到差值fore这个图,然后需要对这个二值图进行相关处理,其中包括二值化,膨胀,也就是让二值图变大,大到把各个不连通的地方给连接起来,形成只有一个区域联通。. 最后去统计连通域的面积。
5、回到主函数的62行,这里对处理得到的foremm,进行腐蚀,再次用形态学处理,用结构元素25的矩形,犹如一个刷子一样去把小于刷子的东西给去除掉,这就是腐蚀。
6、将目标区域给用绿色的框框起来。
7、结合卡尔曼滤波方法,当前帧和前一帧对比。卡尔曼滤波就是有这个功能。
8、卡尔曼是具有预测的功能,用红色框框出来。
9、判断:方法是看下前后两帧,红色方框的质心移动距离多少,如果移动距离小于3.5个像素,那么说明站立,但是站立是仅仅站立,还是在做其他运动,需要根据红色框的宽和高比例,如果是宽/高比例小于0.7,则是站立,高于0.7是伸展手臂,红色框高变小,宽边长了。
如果质心移动距离大于3.5,那么就是移动了。
四、源码框架链接
https://download.csdn.net/download/Threexiu/16400340[复制到浏览器]
也可以直接点击这里:戳我
基于MATLAB的运动目标行为检测GUI设计与实现
最新推荐文章于 2023-01-17 15:26:12 发布