import numpy as np from PIL import Image, ImageOps from scipy import ndimage sobel_kernel = np.array([ [-1, 0, 1], [-2, 0, 2], [-1, 0, 1], ]) def sobel(arr): return ndimage.convolve(arr, sobel_kernel, mode=constant) def sobel_image(img): img = np.array(img) return Image.fromarray(sobel(img))