Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

OpenCV Error: Assertion failed (m.dims >= 2) why?

I'm study background subtraction with OpenCV, but when the processes ends, the Terminal shows this error:

OpenCV Error: Assertion failed (m.dims >= 2) in Mat, file /home/guilherme/opencv/modules/core/src/matrix.cpp, line 437
Traceback (most recent call last):
  File "bgsub.py", line 10, in <module>
    erode = cv2.erode(fgmask,kernel,iterations = 1)
cv2.error: /home/guilherme/opencv/modules/core/src/matrix.cpp:437: error: (-215) m.dims >= 2 in function Mat

Code:

import numpy as np
import cv2
cap = cv2.VideoCapture('sample.avi')
fgbg = cv2.createBackgroundSubtractorMOG2(detectShadows=False)
kernel = np.ones((5,5), np.uint8)
key = True
while(1):
    ret, frame = cap.read()
    fgmask = fgbg.apply(frame)
    erode = cv2.erode(fgmask,kernel,iterations = 1)
    dilation = cv2.morphologyEx(erode, cv2.MORPH_OPEN, kernel)
    cv2.imshow('frame', dilation)
    cv2.imshow('original', frame)
    k = cv2.waitKey(30) & 0xff
    if k == 27:
        break
cap.release()
cv2.destroyAllWindows()

I'm using Python 2.7 and OpenCV 3. How can I solve this? Thanks a lot!