利用PIL库进行简单的图像操作---素描图,快上车!!
目录
1.open()打开图片,show()显示图片,save()保存新图片的路径和名称。
一、前言
在python中,有一个优秀的图像处理框架,它就是PIL库。
PIL中主要的类包括Image、ImageFont、ImageDraw、和ImageFilter。
二、PIL库的安装
win+R,输入cmd,然后输入pip install pillow进行安装pillow包,接下来就可以调用PIL库里的Image、ImageFont、ImageDraw、和ImageFilter这四类了。
注:一定要注意字母的大小写
三、PIL库的几个较常用函数
1.open()打开图片,show()显示图片,save()保存新图片的路径和名称。
from PIL import Image square = Image.open(r"E:\Python社区版\王者荣耀皮肤图片\百里玄策\5.jpg") square.show()
square.save(r"E:\Python社区版\王者荣耀皮肤图片\百里玄策\51.jpg")
2.filter()滤镜
from PIL import Image from PIL import ImageFilter square = Image.open(r"E:\Python社区版\王者荣耀皮肤图片\百里玄策\5.jpg") # 高斯模糊 square1 = square.filter(ImageFilter.GaussianBlur) # 普通模糊 square2 = square.filter(ImageFilter.BLUR) # 边缘增强 square3 = square.filter(ImageFilter.EDGE_ENHANCE) # 找到边缘 square4 = square.filter(ImageFilter.FIND_EDGES) # 浮雕 square5 = square.filter(ImageFilter.EMBOSS) # 轮廓 square6 = square.filter(ImageFilter.CONTOUR) # 锐化 square7 = square.filter(ImageFilter.SHARPEN) # 平滑 square8 = square.filter(ImageFilter.SMOOTH) # 细节 square9 = square.filter(ImageFilter.DETAIL) # 保存示例 # square9.save(r"E:\Python社区版\王者荣耀皮肤图片\百里玄策\5222.jpg")
from PIL import Image from PIL import ImageFilter square = Image.open(r"E:\Python社区版\王者荣耀皮肤图片\百里玄策\3.jpg") square1 = square.filter(ImageFilter.CONTOUR) square1.save(r"E:\Python社区版\王者荣耀皮肤图片\百里玄策\31.jpg")
结果显示如下:
编辑
编辑
编辑
编辑
3.屏幕截图
from PIL import ImageGrab im = ImageGrab.grab() # 不加参数表示截全屏 im1 = ImageGrab.grab((0, 0, 200, 200)) # 保存示例 im1.save(r"C:\Users\knighthood\OneDrive\桌面\截图.jpg")
4.图像亮度、色度、对比度、锐度处理
from PIL import Image from PIL import ImageEnhance # 原始图像 square = Image.open(r"E:\Python社区版\王者荣耀皮肤图片\百里玄策\5.jpg") # 例1亮度增加 enh_bri = ImageEnhance.Brightness(square) brightness = 1.25 square_brightened = enh_bri.enhance(brightness) # 显示图像 square_brightened.show() # 保存示例 square_brightened.save(r"E:\Python社区版\王者荣耀皮肤图片\百里玄策\5221.jpg") # 例2色度增强 enh_col = ImageEnhance.Color(square) color = 1.5 square_colored = enh_col.enhance(color) # 例3对比度增强 enh_con = ImageEnhance.Contrast(square) contrast = 1.5 square_contrasted = enh_con.enhance(contrast) # 例4锐度增加 enh_sha = ImageEnhance.Sharpness(square) sharpness = 3.0 square_sharped = enh_sha.enhance(sharpness)
以例1为例,全过程可以写成如下的形式:
from PIL import Image from PIL import ImageEnhance square = Image.open(r"E:\Python社区版\王者荣耀皮肤图片\百里玄策\5.jpg") square1 = ImageEnhance.Brightness(square) square1.enhance(1.25).save(r"E:\Python社区版\王者荣耀皮肤图片\百里玄策\5211.jpg")
结果如下:
编辑
编辑
四、总结
以上只是PIL库的一部分知识,它还能进行图像的旋转、图像格式的转换、图像色彩模式的转化等操作。通过它我们能进行一些图像的简单操作,它也能生成那些带有随机字符串的随机颜色的图片(比如令人头疼的图片验证码 ),大家来试试看吧!!