Skip to content
Snippets Groups Projects
Select Git revision
  • be92256a44ab856bbdadf9dbaa0a0bfad1959654
  • master default protected
  • beta
  • dev
  • andrewssobral-patch-1
  • update
  • thomas-fork
  • 2.0
  • v3.2.0
  • v3.1.0
  • v3.0
  • bgslib_py27_ocv3_win64
  • bgslib_java_2.0.0
  • bgslib_console_2.0.0
  • bgslib_matlab_win64_2.0.0
  • bgslib_qtgui_2.0.0
  • 2.0.0
  • bgs_console_2.0.0
  • bgs_matlab_win64_2.0.0
  • bgs_qtgui_2.0.0
  • v1.9.2_x86_mfc_gui
  • v1.9.2_x64_java_gui
  • v1.9.2_x86_java_gui
23 results

LBSimpleGaussian.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Demo.py 2.22 KiB
    import numpy as np
    import cv2
    import libbgs
    
    ## BGS Library algorithms
    bgs = libbgs.FrameDifference()
    #bgs = libbgs.StaticFrameDifference()
    #bgs = libbgs.AdaptiveBackgroundLearning()
    #bgs = libbgs.AdaptiveSelectiveBackgroundLearning()
    #bgs = libbgs.DPAdaptiveMedian()
    #bgs = libbgs.DPEigenbackground()
    #bgs = libbgs.DPGrimsonGMM()
    #bgs = libbgs.DPMean()
    #bgs = libbgs.DPPratiMediod()
    #bgs = libbgs.DPTexture()
    #bgs = libbgs.DPWrenGA()
    #bgs = libbgs.DPZivkovicAGMM()
    #bgs = libbgs.FuzzyChoquetIntegral()
    #bgs = libbgs.FuzzySugenoIntegral()
    #bgs = libbgs.GMG() # if opencv 2.x
    #bgs = libbgs.IndependentMultimodal()
    #bgs = libbgs.KDE()
    #bgs = libbgs.KNN() # if opencv 3.x
    #bgs = libbgs.LBAdaptiveSOM()
    #bgs = libbgs.LBFuzzyAdaptiveSOM()
    #bgs = libbgs.LBFuzzyGaussian()
    #bgs = libbgs.LBMixtureOfGaussians()
    #bgs = libbgs.LBSimpleGaussian()
    #bgs = libbgs.LBP_MRF()
    #bgs = libbgs.LOBSTER()
    #bgs = libbgs.MixtureOfGaussianV1() # if opencv 2.x
    #bgs = libbgs.MixtureOfGaussianV2()
    #bgs = libbgs.MultiCue()
    #bgs = libbgs.MultiLayer()
    #bgs = libbgs.PAWCS()
    #bgs = libbgs.PixelBasedAdaptiveSegmenter()
    #bgs = libbgs.SigmaDelta()
    #bgs = libbgs.SuBSENSE()
    #bgs = libbgs.T2FGMM_UM()
    #bgs = libbgs.T2FGMM_UV()
    #bgs = libbgs.T2FMRF_UM()
    #bgs = libbgs.T2FMRF_UV()
    #bgs = libbgs.VuMeter()
    #bgs = libbgs.WeightedMovingMean()
    #bgs = libbgs.WeightedMovingVariance()
    #bgs = libbgs.TwoPoints()
    #bgs = libbgs.ViBe()
    
    video_file = "dataset/video.avi"
    
    capture = cv2.VideoCapture(video_file)
    while not capture.isOpened():
    	capture = cv2.VideoCapture(video_file)
    	cv2.waitKey(1000)
    	print "Wait for the header"
    
    pos_frame = capture.get(cv2.cv.CV_CAP_PROP_POS_FRAMES)
    while True:
    	flag, frame = capture.read()
    	
    	if flag:
    		cv2.imshow('video', frame)
    		pos_frame = capture.get(cv2.cv.CV_CAP_PROP_POS_FRAMES)
    		#print str(pos_frame)+" frames"
    		
    		img_output = bgs.apply(frame)
    		img_bgmodel = bgs.getBackgroundModel();
    		
    		cv2.imshow('img_output', img_output)
    		cv2.imshow('img_bgmodel', img_bgmodel)
    
    	else:
    		capture.set(cv2.cv.CV_CAP_PROP_POS_FRAMES, pos_frame-1)
    		print "frame is not ready"
    		cv2.waitKey(1000)
    		# break
    	
    	if 0xFF & cv2.waitKey(10) == 27:
    		break
    	
    	if capture.get(cv2.cv.CV_CAP_PROP_POS_FRAMES) == capture.get(cv2.cv.CV_CAP_PROP_FRAME_COUNT):
    		break
    
    cv2.destroyAllWindows()