2021-08-16
ComputerVision, Opencv, Python
背景差分, python, mog, gmg, opencv3.1
ネットで書かれているものだとそのまま使えなかったのでちょっとだけ.
bgsegm
を追加しただけですが.
mog2は何故か上手くいかなかったのでなし.
環境
Python 3.5.2 opencv '3.1.0'
check方法 (python)
$ python --version
Python 3.5.2 :: Anaconda 2.4.1 (x86_64)
check方法 (opencv)
$ python
Python 3.5.2 |Anaconda 2.4.1 (x86_64)| (default, Jul 2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.1.0'
codes
# coding=utf-8
import cv2
cap = cv2.VideoCapture(0)
fgbg = cv2.bgsegm.createBackgroundSubtractorMOG()
while True:
ret, src = cap.read()
fgmask = fgbg.apply(src, learningRate=0.01)
dst = src.copy()
dst = cv2.bitwise_and(src, src, mask=fgmask)
cv2.imshow('frame',dst)
k = cv2.waitKey(30) & 0xff
if k == 27: # ESC key
break
cap.release()
cv2.destroyAllWindows()
# coding=utf-8
import cv2
cap = cv2.VideoCapture(0)
fgbg = cv2.bgsegm.createBackgroundSubtractorGMG()
while True:
ret, src = cap.read()
fgmask = fgbg.apply(src, learningRate=0.01)
dst = src.copy()
dst = cv2.bitwise_and(src, src, mask=fgmask)
cv2.imshow('frame',dst)
k = cv2.waitKey(30) & 0xff
if k == 27: # ESC key
break
cap.release()
cv2.destroyAllWindows()
results
mog
gmg