I have the following code that worked well with OPenCV 3.4.1 and now is not working with OpenCV 4.1.0 and gives an error. I do not know how to adapt the code with the newer version, can you help me with that? Thanks a lot
def ImageProcessing(image): image = cv2.absdiff(image, background) h, gray = cv2.threshold(image, 65, 255, cv2.THRESH_BINARY_INV); gray = cv2.medianBlur(gray,5) kernel = np.ones((3,3), np.uint8) gray = cv2.erode(gray, kernel, iterations=1)#1 des = cv2.bitwise_not(gray) tmp = cv2.findContours(des,cv2.RETR_CCOMP,cv2.CHAIN_APPROX_SIMPLE) contour, hier = tmp[1], tmp[0] for cnt in contour: cv2.drawContours(des,[cnt],0,255,-1) gray = cv2.bitwise_not(des) gray = cv2.dilate(gray, kernel, iterations=1)#1 return gray
The error is
cv2.drawContours(des,[cnt],0,255,-1) cv2.error: OpenCV(4.1.0) /io/opencv/modules/imgproc/src/drawing.cpp:2509: error: (-215:Assertion failed) npoints > 0 in function 'drawContours'