#### Previous topic

scipy.misc.ascent

#### Next topic

scipy.misc.central_diff_weights

# scipy.misc.bytescale

`scipy.misc.``bytescale`(data, cmin=None, cmax=None, high=255, low=0)

  Byte scales an array (image).

  Byte scaling means converting the input image to uint8 dtype and scaling the range to `(low, high)` (default 0-255). If the input image already has dtype uint8, no scaling is done.

  Parameters: | data : ndarray PIL image data array. cmin : scalar, optional Bias scaling of small values. Default is `data.min()`. cmax : scalar, optional Bias scaling of large values. Default is `data.max()`. high : scalar, optional Scale max value to high. Default is 255. low : scalar, optional Scale min value to low. Default is 0.
  Returns: | img_array : uint8 ndarray The byte-scaled array.

  Examples

      >>> from scipy.misc import bytescale
      >>> img = np.array([[ 91.06794177,   3.39058326,  84.4221549 ],
      ...                 [ 73.88003259,  80.91433048,   4.88878881],
      ...                 [ 51.53875334,  34.45808177,  27.5873488 ]])
      >>> bytescale(img)
      array([[255,   0, 236],
             [205, 225,   4],
             [140,  90,  70]], dtype=uint8)
      >>> bytescale(img, high=200, low=100)
      array([[200, 100, 192],
             [180, 188, 102],
             [155, 135, 128]], dtype=uint8)
      >>> bytescale(img, cmin=0, cmax=255)
      array([[91,  3, 84],
             [74, 81,  5],
             [52, 34, 28]], dtype=uint8)