视频背景分析

编程入门 行业动态 更新时间:2024-10-07 04:31:54

视频<a href=https://www.elefans.com/category/jswz/34/1771046.html style=背景分析"/>

视频背景分析

使用的方法:KNN(机器学习)、GMM(概率分析)

目标:对于一个视频,区分出他的背景和前景(行人、船只等)

用到的api是:

cv.createBackgroundSubtractorMOG2()  或   cv.createBackgroundSubtractorKNN()
def video_io_demo():capture = cv.VideoCapture(0)bgfg = cv.createBackgroundSubtractorMOG2()bgfg1 = cv.createBackgroundSubtractorKNN()while(True):ret,frame = capture.read()if ret is True:cv.imshow("video_input",frame)mask = bgfg.apply(frame)cv.imshow("result", mask)c = cv.waitKey(2)if c==27:breakelse:break

我们通过摄像头来测试一下,返回一个mask(mask即是背景减去原图后的前景)

为什么大晚上在家要戴口罩,因为口罩比我脸白,轮廓更明显……

可以看到右边还是有许多噪点,于是用开操作去一下噪声

def video_io_demo():capture = cv.VideoCapture(0)bgfg = cv.createBackgroundSubtractorMOG2()bgfg1 = cv.createBackgroundSubtractorKNN()k = cv.getStructuringElement(cv.MORPH_RECT,(3,3))while(True):ret,frame = capture.read()if ret is True:cv.imshow("video_input",frame)mask = bgfg.apply(frame)mask = cv.morphologyEx(mask,cv.MORPH_OPEN,k)cv.imshow("result", mask)c = cv.waitKey(2)if c==27:breakelse:break

确实比去噪前要分割明显,视频下对比会更清楚。

接下来我想显示一下背景图,这里是用到了

bgfg.getBackgroundImage()   这个方法
def video_io_demo():capture = cv.VideoCapture(0)bgfg = cv.createBackgroundSubtractorMOG2()bgfg1 = cv.createBackgroundSubtractorKNN()k = cv.getStructuringElement(cv.MORPH_RECT,(3,3))while(True):ret,frame = capture.read()if ret is True:cv.imshow("video_input",frame)mask = bgfg.apply(frame)bg_image = bgfg.getBackgroundImage()mask = cv.morphologyEx(mask,cv.MORPH_OPEN,k)cv.imshow("result", mask)cv.imshow("bg_img", bg_image)c = cv.waitKey(2)if c==27:breakelse:break

这里为了效果更明显,我把摄像头对准了墙壁,可以看到如下效果。背景bg_img中没有显示我的手和笔,在mask中绘出了我的手和笔。说明他比较好的将背景和前景分割开了。

 

总结一下:

这里就用到了三个api

首先:bgfg = cv.createBackgroundSubtractorMOG2() 或  bgfg1 = cv.createBackgroundSubtractorKNN()bgfg.apply(frame)   来获取maskbgfg.getBackgroundImage()   来获取背景图

需要注意的是,获取背景图时不能跳过apply() 这一步。必须先使用了apply(frame)才能获取背景图

更多推荐

视频背景分析

本文发布于:2024-03-12 14:39:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1731741.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:背景   视频

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!