я могу захватить видео с веб-камеры и сохранить его в порядке с этим кодомКак сохранить маски видео в openCV2 питона
cap = cv2.VideoCapture(0)
fgbg= cv2.BackgroundSubtractorMOG()
fourcc = cv2.cv.CV_FOURCC(*'DIVX')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640,480))
while(cap.isOpened()):
ret,frame = cap.read()
if ret:
fgmask = fgbg.apply(frame)
out.write(frame) #Save it
cv2.imshow('Background Subtraction', fgmask)
if cv2.waitKey(1) & 0xFF == ord('q'):
break #q to quit
else:
break #EOF
cap.release()
out.release()
cv2.destroyAllWindows()
Это записывает его как можно было бы ожидать, и показывает вычитание фона вещь также. Он сохраняет его на output.avi. Все хорошо. Но я не могу сохранить маску переднего плана, это дает мне ошибку Could not demultiplex stream
. (Эта строка изменена в коде выше).
out.write(fgmask) #Save it
Почему это? Является ли fgmask не рамкой, например, когда я читаю из захвата?