from skimage.color import rgb2gray import matplotlib.pyplot as plt img = plt.imread('cat.jpg') gray = rgb2gray(img) gray_r = gray.reshape(gray.shape[0]*gray.shape[1]) global_threshold = gray_r.mean() for i in range(gray_r.shape[0]): if gray_r[i] > global_threshold: gray_r[i] = 1 else: gray_r[i] = 0 gray = gray_r.reshape(gray.shape[0], gray.shape[1]) plt.imshow(gray, cmap='gray')