python-opencv背景分离(BS)

python-opencv背景分离(BS),第1张

学习目标:

提示:python-opencv背景分离(BS)

例如:

  • 一看就会,一做就废

学习内容:

提示:python-opencv背景分离(BS)
背景分离(BS)是一种通过使用静态相机来生成前景掩码(即包含属于场景中的移动对象像素的二进制图像)的常用技术


学习时间:

提示:1s


学习产出:

BS计算前景掩码,在当前帧与背景模型之间执行剑法运算,其中包含场景的静态部分,或者更一般而言,考虑到所观察场景的特征,可以将其视为背景的所有内容。

背景建模包括两个主要步骤:
1.背景初始化
2.背景更新

opencv给出两个函数实现

  1. cv2.BackgroundSubtractorMOG2
  2. cv2.BackgroundSubtractorKNN

大家可以分别试试

# 导入亲爱的opencv
import cv2 as cv
# 调用函数
backSub = cv.createBackgroundSubtractorMOG2()
#backSub = cv.createBackgroundSubtractorKNN()

# 看看美丽的自己
capture = cv.VideoCapture(0)

if not capture.isOpened:
    exit(0)
while True:
    ret,frame = capture.read()
    if frame is None:
        break
    fgMask = backSub.apply(frame)

    cv.rectangle(frame,(10,2),(100,20),(255,255,255),-1)
    cv.putText(frame,str(capture.get(cv.CAP_PROP_POS_FRAMES)),(15,15),
               cv.FONT_HERSHEY_SIMPLEX,0.5,(0,0,0))

    cv.imshow('Frame',frame)
    cv.imshow('FG_Mask',fgMask)

    keyboard = cv.waitKey(30)
    if keyboard == ord('q') or keyboard == 27:
        break

输出效果截图:

欢迎大家点赞哦

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/923174.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存