【一天一个Python小案例】RGB图转简笔画

import scipy.ndimage
import numpy as np
import matplotlib.pyplot as plt
def grayscale(rgb):
return np.dot(rgb[..., :3], [0.299, 0.587, 0.114])
def dodge(front, back):
result = front * 255 / (255 - back)
result[result > 255] = 255
return result.astype('uint8')
img = "263697.20.jpg"
start_img = plt.imread(img)
plt.subplot(121)
plt.imshow(start_img)
start_img = np.array(start_img)
gray_img = grayscale(start_img)
inverted_img = 255 - gray_img
blur_img = scipy.ndimage.filters.gaussian_filter(inverted_img, sigma=5)
final_img = dodge(blur_img, gray_img)
plt.subplot(122)
plt.imshow(final_img,cmap='gray')
plt.show()