PIL库
PIL(Python Imaging Library,图像处理类库)提供了通用的图像处理功能,以及大量有用的基本图像操作,比如图像缩放、裁剪、旋转、颜色转换等。PIL是免费的。
PIL(Python Image Library)库是Python语言的第三方库,需要通过pip工具安装。安装PIL库的方法如下,需要注意,安装库的名字是pillow。
PIL(Python Image Library)库是Python语言的第三方库,需要通过pip工具安装。安装PIL库的方法如下,需要注意,安装库的名字是pillow。
安装PIL库:pip install pillow
https://pillow.readthedocs.io/en/latest/index.html

PIL图片转pdf
# 图片转pdf
from PIL import Image
img = Image.open(r'empire.jpg')
img1 = img.convert('RGB')
img1.save(r'empire.pdf')
图像的滤波
from PIL import Image
img = Image.open('empire.jpg')
# img.show()
img1 = img.filter(ImageFilter.CONTOUR).save('empire1.jpg') # 轮廓滤波并保存
img2 = img.filter(ImageFilter.EMBOSS).save('empire2.jpg') #浮雕效果并保存
img3 = img.filter(ImageFilter.FIND_EDGES).save('empire3.jpg') # 泼墨效果并保存
img4 = img.filter(ImageFilter.SHARPEN).save('empire4.jpg') # 锐化滤波并保存
img5 = img.filter(ImageFilter.SMOOTH).save('empire5.jpg') # 平滑滤波并保存
img6 = img.filter(ImageFilter.DETAIL).save('empire6.jpg') # 细节滤波并保存
img7 = img.filter(ImageFilter.BLUR).save('empire7.jpg') # 模糊滤波并保存
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() |
图像的颜色交换
# 图像的颜色交换
# 交换图像中的颜色。可以通过分离RGB图片的3个颜色通道实现颜色交换。
from PIL import Image
img = Image.open('empire.jpg')
r, g, b = img.split()
Image.merge("RGB" , (b, g, r)).save('empireBGR.jpg')

图像的对比度增强
# 图像的对比度增强
# 增强图像的对比度为初始的10倍
from PIL import Image
from PIL import ImageEnhance
img = Image.open('empire.jpg')
ImageEnhance.Contrast(img).enhance(10).save('empire_encontrast.jpg')

转换成灰度图像
# 转换成灰度图像
from PIL import Image
img = Image.open('empire.jpg')
# img.show()
img1 = img.convert('L').save('empire1.jpg') #转换成灰度图像并保存

图片裁剪
# 图片裁剪
from PIL import Image
img = Image.open('empire.jpg')
# 图片对象.crop(起点x坐标,起点y坐标, 终点x坐标,终点y坐标)
img.crop((10,200,200,450)).save('empire_c.jpg')

图片镜像
from PIL import Image
img = Image.open('empire.jpg')
# 左右镜像,左右反转
img1 =img.transpose(Image.FLIP_LEFT_RIGHT).save('empire_lr.jpg')
# 上下镜像,上下反转
img2 = img.transpose(Image.FLIP_TOP_BOTTOM).save('empire_tb.jpg')
![]() | ![]() |
加水印
#添加文字水印
from PIL import Image,ImageFont,ImageDraw
a=Image.open("empire.jpg").convert('RGBA')
b=Image.new('RGBA',a.size,(0,0,0,0)) #(0,0,0,0)代表透明
fnt=ImageFont.truetype("A73方正行黑简体.ttf",40) #设置字体
c=ImageDraw.Draw(b) #将新建的图像填入画板
c.text((b.size[0]-200,b.size[1]-80),"test",font=fnt,
fill=(256,256,256))
d=Image.alpha_composite(a,b) #合并两个图像
d.save("empire_y.png")











浙公网安备 33010602011771号