How to convert an image from np.uint16 to np.uint8?

You can use cv2.convertScaleAbs for this problem. See the Documentation.

Check out the command terminal demo below :

>>> img = np.empty((100,100,1),dtype = np.uint16)
>>> image = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)

>>> cvuint8 = cv2.convertScaleAbs(image)

>>> cvuint8.dtype
dtype('uint8')

Hope it helps!!!

Leave a Comment