python 图像转线稿

# 图像转素描
from PIL import Image, ImageFilter, ImageOps
img = Image. open(r'E:\Desktop\1.jpg')


def dodge(a, b, alpha):
    return min(int(a*255/(256-b*alpha)),255)


def draw(img, blur=25,alpha=1.0):
    img1 = img. convert('L')
    #图片转换成灰色
    img2 = img1. copy()
    img2 = ImageOps. invert(img2)
    for i in range(blur):
        # 模糊度
        img2 = img2.filter(ImageFilter. BLUR)
    width, height = img1.size
    for x in range(width):
        for y in range(height):
            a = img1. getpixel((x, y))
            b = img2.getpixel((x, y))
            img1. putpixel((x, y),dodge(a, b, alpha))
    img1.show()
    img1.save(r'E:\Desktop\2.jpg')

draw(img)

 

posted @ 2022-02-07 17:27  trysocket  阅读(437)  评论(0编辑  收藏  举报