内容学习来自【慕课】Python语言基础与应用-北京大学-陈斌-字幕校对_哔哩哔哩_bilibili
图像处理库:PIL
1.模糊图片处理:
>>> from PIL import Image
>>> from PIL import ImageFilter
#打开图片
>>> im=Image.open('D:\\Pictures\\充电桩.jpg')
#模糊图片处理
>>> im2 = im.filter(ImageFilter.BLUR)
#保存模糊后的图片
>>> im2.save('D:\\Pictures\\充电桩1.jpeg')
2.在图片上写字:
>>> from PIL import Image,ImageDraw,ImageFont
#打开图片
>>> img=Image.open('D:\\Pictures\\充电桩1.jpeg')
#设置字体和字体大小
>>> font=ImageFont.truetype('simsun.ttc',100)
#在Img上创建可绘制对象draw
>>> draw=ImageDraw.Draw(img)
#添加文字位置、文字内容、颜色、字体及大小
>>> draw.text((100,10),'牛逼的充电桩',(0,255,0),font=font)
#保存图片
>>> img.save('D:\\Pictures\\充电桩2.jpeg')
模糊+写字:
3.生成验证码图片
from PIL import Image,ImageDraw,ImageFont,ImageFilter
import random
#随机字母:
def rndChar():
return chr(random.randint(65,90))
#随机颜色1:
def rndColor():
return(random.randint(64,255),\
random.randint(64,255),\
random.randint(64,255))
#随机颜色2:
def rndColor2():
return(random.randint(32,127),\
random.randint(32,127),\
random.randint(32,127))
#画板设置
width=60*4
height=60
image=Image.new('RGB',(width,height),(255,255,255))
#创建Font对象:
font=ImageFont.truetype('simsun.ttc',36)
#创建Daw对象:
draw=ImageDraw.Draw(image)
#填充每个像素:
for x in range(width):
for y in range(height):
draw.point((x,y),fill=rndColor())
#输出文字(坐标、字母、字体、颜色):
for t in range(4):
draw.text((60*t+10,10),rndChar(),font=font,fill=rndColor2())
#模糊:
image=image.filter(ImageFilter.BLUR)
image.save('D:\\Pictures\\code.jpg')