Python使用OpenCV进行背景扣除

2021年3月11日17:08:36 发表评论 1,521 次浏览

背景扣除在日常生活中有多个用例, 可用于对象分割, 安全性增强, 行人跟踪, 统计访客数量, 行进中的车辆数量等。它能够学习和识别前景蒙版。

顾名思义, 它可以减去或消除图像中的背景部分。它的输出是二进制分割的图像, 该图像本质上提供了有关图像中非平稳对象的信息。在找到非平稳部分的概念中存在问题, 因为运动对象的阴影可能正在移动, 有时会被分类在前景中。

流行的背景减法算法为:

  • 背景分包商:这是一种基于高斯混合的背景分割算法。
  • 背景减法器MOG2:它使用相同的概念, 但是它提供的主要优点是即使在帧中的亮度发生变化并且阴影的识别能力更好时, 也具有稳定性。
  • 几何多重网格:利用统计方法和逐像素贝叶斯分割算法。
# Python code for Background subtraction using OpenCV
import numpy as np
import cv2
  
cap = cv2.VideoCapture( '/home/sourabh/Downloads/people-walking.mp4' )
fgbg = cv2.createBackgroundSubtractorMOG2()
  
while ( 1 ):
     ret, frame = cap.read()
  
     fgmask = fgbg. apply (frame)
   
     cv2.imshow( 'fgmask' , fgmask)
     cv2.imshow( 'frame' , frame )
  
      
     k = cv2.waitKey( 30 ) & 0xff
     if k = = 27 :
         break
      
  
cap.release()
cv2.destroyAllWindows()

原始视频帧:

Python |使用OpenCV进行背景扣除1

背景减去视频帧:

Python |使用OpenCV进行背景扣除2

因此, 我们看到了背景减法算法在检测视频帧中的运动和生命中的应用。

注意怪胎!巩固你的基础Python编程基础课程和学习基础知识。

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: