As you have not provided specific data, let me point you how to generally "colorize" your points. You have to provide the texture to the pcd.colors
member of the point cloud. In order to assign the correct image pixel to the points, create a mask of valid pixels in the depth image
mask = np.asarray(depth_img) > 0
and use this mask to filter your texture image. Assuming your texture image is an RGB image in the same resolution, you can assign the texture with
pcd.colors = o3d.utility.Vector3dVector(np.asarray(rgb_image)[mask].reshape(-1, 3) / 255.0)
Finally, you can show the point cloud the same way as before.
Input data (contrast-enhanced depth image, RGB image)
Resulting point cloud