python画素描画
废话不多说,直接上代码
from PIL import Image, ImageFilter, ImageOps
img = Image.open('/Users/demo/Desktop/b.png') # 原图路径
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("/Users/demo/Desktop/a1.png") # 生成后的图片
draw(img)
效果图
原图:
转换后的图:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 三尺青锋!
评论