zl程序教程

您现在的位置是:首页 >  Python

当前栏目

python画素描画

2023-02-18 16:48:37 时间

废话不多说,直接上代码

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)

效果图 原图:

转换后的图: