Notes from OpenCV 4.4.0.
The CUDA APIs are mostly in the cv2.cuda module except a few that are in cv2 such as cv2.cuda_GpuMat and cv2.cuda_Stream.
cv2.cuda_FarnebackOpticalFlow has the same interface as cv2.FarnebackOpticalFlow.
cv2.cuda.createMorphologyFilter doesn't support 3 channel filters.
You must provide the output array to cv2.cuda.merge(_, output). The API doesn't return a GpuMat instance.
cv2.cuda.multiply doesn't accept scalar arguments, instead initialize a matrix initialized to the same value everywhere, e.g., cv2.cuda_GpuMat(frame.size(), cv.CV_32FC1, 255 / (2*np.pi)).