@@ -0,0 +1,920 @@
+import numpy as np%0A%0A%0Adef rgb2gray(rgb):%0A    r%22%22%22Convert RGB image to Grayscale.%0A%0A    Parameters%0A    ----------%0A    rgb : Numpy array for RGB Image with shape%5B2%5D = 3%0A          The array to convert.%0A%0A    Returns%0A    -------%0A    Numpy array for Grayscaled Image.%0A%0A    %22%22%22%0A    return np.dot(rgb%5B..., :3%5D, %5B0.299, 0.587, 0.114%5D)%0A%0A# Boolean, unsigned integer, signed integer, float, complex.%0A_NUMERIC_KINDS = set('buifc')%0A%0A%0Adef is_numeric(array):%0A    %22%22%22Determine whether the argument has a numeric datatype, when%0A    converted to a NumPy array.%0A%0A    Booleans, unsigned integers, signed integers, floats and complex%0A    numbers are the kinds of numeric datatype.%0A%0A    Parameters%0A    ----------%0A    array : array-like%0A        The array to check.%0A%0A    Returns%0A    -------%0A    is_numeric : %60bool%60%0A        True if the array has a numeric datatype, False if not.%0A%0A    %22%22%22%0A    return np.asarray(array).dtype.kind in _NUMERIC_KINDS%0A%0A

Add utils.py