integral image error code cv2.imshow("imageIntegral",imageIntegral)

Check whether your image is uint8 or not

image = image.astype(np.uint8)

Help on cv2.integral:

>>> import cv2
>>> print(cv2.__version__)
4.0.1-dev
>>> help(cv2.integral)
Help on built-in function integral:

integral(...)
    integral(src[, sum[, sdepth]]) -> sum
    .   @overload

A simple demo:

import numpy as np
import cv2

img = np.uint8(np.random.random((2,2,3))*255)
dst = cv2.integral(img)

>>> print(img.shape, img.dtype)
(2, 2, 3) uint8
>>> print(dst.shape, dst.dtype)
(3, 3, 3) int32

And you shouldn't use imshow directly on the dst image because it's not np.uint8. Normalize it to np.uint8 (0, 255) or np.float32(0, 1.0). You can find the reason at this link: How to use `cv2.imshow` correctly for the float image returned by `cv2.distanceTransform`?