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

【一天一个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()

Guess you like

Origin blog.csdn.net/qq_39573785/article/details/107378398