colour.io.convert_bit_depth#

colour.io.convert_bit_depth(a: ArrayLike, bit_depth: Literal['uint8', 'uint16', 'float16', 'float32', 'float64', 'float128'] = 'float32') NDArrayReal[source]#

Convert given array to given bit-depth, the current bit-depth of the array is used to determine the appropriate conversion path.

Parameters:
  • a (ArrayLike) – Array to convert to given bit-depth.

  • bit_depth (Literal['uint8', 'uint16', 'float16', 'float32', 'float64', 'float128']) – Bit-depth.

Returns:

Converted array.

Return type:

class`numpy.ndarray`

Examples

>>> a = np.array([0.0, 0.5, 1.0])
>>> convert_bit_depth(a, "uint8")
array([  0, 128, 255], dtype=uint8)
>>> convert_bit_depth(a, "uint16")
array([    0, 32768, 65535], dtype=uint16)
>>> convert_bit_depth(a, "float16")
array([ 0. ,  0.5,  1. ], dtype=float16)
>>> a = np.array([0, 128, 255], dtype=np.uint8)
>>> convert_bit_depth(a, "uint16")
array([    0, 32896, 65535], dtype=uint16)
>>> convert_bit_depth(a, "float32")  
array([ 0.       ,  0.501960...,  1.       ], dtype=float32)