Python读取本地图片转换为素描

Python读取本地图片转换为素描

from PIL import Image,ImageFilter, ImageOps
img = Image.open('/home/ed/1.jpg')
def dodge(a,b,alpha):
    return min(int(a*255/(256-b*alpha)),255)
def draw(img, blur=29, alpha=0.98):
    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('/home/ed/2.jpg')
draw(img)
  • 原图
    Python读取本地图片转换为素描_第1张图片
  • Python3运行函数效果图
    Python读取本地图片转换为素描_第2张图片
    此为Ubuntu运行环境,Windows需要改图片路径

你可能感兴趣的:(Python,Ubuntu)