code: def rgb2gray(rgb):
      
  
      w = sla.atleast_nd(rgb.ndim, np.array([0.299, 0.587, 0.144],
                                            dtype=rgb.dtype, ndmin=3))
      return np.sum(w * rgb, axis=2)
docs: Convert an RGB image (or images) to grayscale.
  
      Parameters
      ----------
      rgb : ndarray
        RGB image as Nr x Nc x 3 or Nr x Nc x 3 x K array
  
      Returns
      -------
      gry : ndarray
        Grayscale image as Nr x Nc or Nr x Nc x K array