Why is the point cloud data I got like this, and the color values always overflow

Why is the point cloud data I got like this, and the color values always overflow, how to solve it?Below is my python code?
import pyzed.sl as sl
import pptk
import cv2
import open3d as o3d
import numpy as np

camera = sl.Camera()

init_params = sl.InitParameters()
init_params.camera_resolution = sl.RESOLUTION.HD720
init_params.coordinate_units = sl.UNIT.METER
init_params.depth_maximum_distance = 5.0
init_params.depth_minimum_distance = 0.2
init_params.depth_mode = sl.DEPTH_MODE.NEURAL
init_params.camera_fps = 30

打开相机

err = camera.open(init_params)
if err != sl.ERROR_CODE.SUCCESS:
camera.close()
exit(1)
image_size = camera.get_camera_information().camera_resolution
image_size.width = image_size.width / 2
image_size.height = image_size.height / 2
runtime_parameters = sl.RuntimeParameters()
runtime_parameters.sensing_mode = sl.SENSING_MODE.STANDARD
runtime_parameters.confidence_threshold = 50
runtime_parameters.texture_confidence_threshold = 100
runtime_parameters.sensing_mode = sl.SENSING_MODE.FILL
mat = sl.Mat(image_size.width, image_size.height, sl.MAT_TYPE.F32_C4)

if camera.grab(runtime_parameters) == sl.ERROR_CODE.SUCCESS:
camera.retrieve_measure(mat, sl.MEASURE.XYZABGR, sl.MEM.CPU, image_size)
point_cloud = mat.get_data()
point_cloud = np.array(point_cloud, dtype=np.float32)
v = pptk.viewer(point_cloud)
camera.close()

endregion

I also have a question, is there any difference between using Python language and C++ language to operate zed cameras, and is Python limited?