gaussian = cv2.createBackgroundSubtractorMOG2()
frame_gaussian = gaussian.apply(frame)
import cv2
import numpy as np
videocapture = cv2.VideoCapture("E:\\opencv\\object.avi")
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3,3))
gaussian = cv2.createBackgroundSubtractorMOG2()
while(True):
ret, frame = videocapture.read()
frame_gaussian = gaussian.apply(frame)
frame_comput = cv2.GaussianBlur(frame_gaussian, (5, 5), 0)
frame_comput = cv2.morphologyEx(frame_gaussian, cv2.MORPH_OPEN, kernel)
contours, hier = cv2.findContours(frame_comput, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for con in contours:
perimeter = cv2.arcLength(con, True)
if perimeter > 188:
x,y,w,h = cv2.boundingRect(con)
rect = cv2.rectangle(frame, (x,y), (x+w,y+h), (255,0,0))
frame_gaussian = np.dstack((frame_gaussian, frame_gaussian, frame_gaussian))
frame_and_gaussian = np.hstack((frame, frame_gaussian))
cv2.imshow('frame_and_gaussian', frame_and_gaussian)
cv2.imwrite('E:\\opencv\\video_image\\frame_and_gaussian.jpg', frame_and_gaussian)
k = cv2.waitKey(120) & 0xff
if k == 27:
break
videocapture.release()
cv2.destroyAllWindows()
