实现效果


###代码
1#!/usr/bin/env python3 2# coding=utf-8 3from PIL import Image 4import numpy as np 5 6 7img_name = input("输入要处理的图片\n") 8# img_name = "t3.png" 9img = Image.open(img_name).convert("L") # 读图片并转化为灰度图 10img.show() 11img_array = np.array(img) # 转化为数组 12 13w, h = img_array.shape 14 15img_border = np.zeros((w-1, h-1)) 16 17for x in range(1, w - 1): 18 for y in range(1, h - 1): 19 Sx = img_array[x + 1][y - 1] + 2 * img_array[x + 1][y] + img_array[x + 1][y + 1] - \ 20 img_array[x - 1][y - 1] - 2 * \ 21 img_array[x - 1][y] - img_array[x - 1][y + 1] 22 Sy = img_array[x - 1][y + 1] + 2 * img_array[x][y + 1] + img_array[x + 1][y + 1] - \ 23 img_array[x - 1][y - 1] - 2 * \ 24 img_array[x][y - 1] - img_array[x + 1][y - 1] 25 img_border[x][y] = (Sx * Sx + Sy * Sy) ** 0.5 26 27img2 = Image.fromarray(img_border) 28img2.show()