摘要:它采用概率前景分割算法,使用貝葉斯推理識別可能的前景對象在前幾幀圖像中會得到一個黑色窗口
Background Subtraction
BackgroundSubtractorMOGMOG算法,即高斯混合模型分離算法,它使用一種通過K高斯分布的混合來對每個背景像素進行建模的方法(K = 3-5)
import numpy as np import cv2 import matplotlib.pyplot as plt cap = cv2.VideoCapture("test.mp4") fgbg = cv2.bgsegm.createBackgroundSubtractorMOG() while(1): ret, frame = cap.read() fgmask = fgbg.apply(frame) cv2.imshow("frame",fgmask) k = cv2.waitKey(30) & 0xff if k == 27: break cap.release() cv2.destroyAllWindows()BackgroundSubtractorMOG2
MOG2算法,也是高斯混合模型分離算法,是MOG的改進算法,該算法的一個重要特征是 它為每個像素選擇適當數量的高斯分布,它可以更好地適應不同場景的照明變化等.
import numpy as np import cv2 import matplotlib.pyplot as plt cap = cv2.VideoCapture("test.mp4") fgbg = cv2.createBackgroundSubtractorMOG2() while(1): ret, frame = cap.read() fgmask = fgbg.apply(frame) cv2.imshow("frame",fgmask) k = cv2.waitKey(30) & 0xff if k == 27: break cap.release() cv2.destroyAllWindows()BackgroundSubtractorGMG
該算法結合統計背景圖像估計和每像素貝葉斯分割,該算法使用前幾個(默認為120)幀進行后臺建模。它采用概率前景分割算法,使用貝葉斯推理識別可能的前景對象.在前幾幀圖像中會得到一個黑色窗口.
import numpy as np import cv2 import matplotlib.pyplot as plt cap = cv2.VideoCapture("test.mp4") kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3)) fgbg = cv2.bgsegm.createBackgroundSubtractorGMG() while(1): ret, frame = cap.read() fgmask = fgbg.apply(frame) fgmask = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel) cv2.imshow("frame",fgmask) k = cv2.waitKey(30) & 0xff if k == 27: break cap.release() cv2.destroyAllWindows()
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42089.html
摘要:理論任何灰度圖像都可以看作是地形表面,其中高強度表示山峰和丘陵,而低強度表示山谷用不同顏色的水標簽填充每個孤立的山谷局部最小值,隨著水的上升,明顯具有不同的顏色的水將開始融合為避免這種情況,需要在水合并的位置建立障礙,在所有的山峰都被水淹沒 Image Segmentation with Watershed Algorithm 理論 任何灰度圖像都可以看作是地形表面,其中高強度表示山...
閱讀 561·2023-04-26 02:58
閱讀 2301·2021-09-27 14:01
閱讀 3605·2021-09-22 15:57
閱讀 1168·2019-08-30 15:56
閱讀 1043·2019-08-30 15:53
閱讀 787·2019-08-30 15:52
閱讀 645·2019-08-26 14:01
閱讀 2157·2019-08-26 13:41