PIL库的使用(持续更新中)

pip install pillow 导入库

1.打开并保存照片

PIL库包括21个类,其中Image类是 PIL 库中一个非常重要的类,Image类提供多种方法可以进行图像文件的读写和处理。要想使用这些方法,需要从PIL库导入Image模块,方法如下:

(打开照片,并打印照片的编码格式,尺寸,渲染颜色方式)

import PIL.Image as Image

image=Image.open("image/1.jpg")
print(image.format,image.size,image.mode)
image.show()
image.save("2.jpg")

2.图像的颜色转换

图像有不同颜色模式。在RGB模式下,每张图片由三个颜色通道R、G、B叠加而成。可以使用split()分离三个颜色通道,对每种颜色分别处理,再用merge()把几个通道合并形成新的图像。还可以使用convert()将图像转换为不同的颜色模式参数。代码如下:

from PIL import Image #导入库
im=Image.open("image/1.jpg")#打开image文件夹下的1.jpg文件
im.show()#显示照片
r,g,b=im.split()#读取图片的rgb三色,并赋值给r,g,b
im=Image.merge("RGB",(b,g,r))#为图片重新渲染,并把之前读取到的rgb三色掉换成b,g,r
im.show()#显示照片

3.图像的过滤和增强

PIL中的ImageFilter模块和ImageEnhance模块提供了过滤图像和增强图像的方法。ImageFilter模块预定义了10种图像过滤方法,可以提取图像轮廓、图像锐化、图像平滑等,主要使用 filter()方法实现。ImageEnhance模块专门用于图像的增强处理,可以增强(或减弱)图像的亮度、对比度、色度等

from PIL import Image #导入PIL下的Image包
from PIL import ImageFilter#导入PIL下的ImageFilter包
from PIL import ImageEnhance#导入PIL下的ImageEnhance包

im=Image.open("image/1.jpg")#读取照片
im.show()#显示照片
detfilter=im.filter(ImageFilter.DETAIL)#图像细节增强
detfilter.show()#显示处理后的图像
confilter=im.filter(ImageFilter.CONTOUR)#图像轮廓效果
confilter.show()#显示处理后的图像
sntfilter=im.filter(ImageFilter.SMOOTH)#图像平滑
sntfilter.show()#显示处理后的图像
sharpfilter=im.filter(ImageFilter.SHARPEN)#图像锐化
sharpfilter.show()#显示处理后的图像
# 亮度增强(调整图像的亮度)
enh_bri=ImageEnhance.Brightness(im)#创建一个调整图像亮度的增强对象
brightness=1.5#设置因子变量
image_brightened=enh_bri.enhance(brightness)#增强brightness倍
image_brightened.show()#显示处理后的图像

#色度增强(调整图像的颜色均衡)
enh_col=ImageEnhance.Color(im)#创建一个增强对象,以调整图像的颜色
color=1.5#设置因子变量
image_colored=enh_col.enhance(color)#增强color倍
image_colored.show()#显示处理后的图像

#对比度增强(调整图像的对比度)
enh_con=ImageEnhance.Contrast(im)#创建一个调整图像对比度的增强对象
contrast=1.5#设置因子变量
image_contrasted=enh_con.enhance(contrast)#增强contrast倍
image_contrasted.show()#显示处理后的图像

#锐度增强
enh_sha=ImageEnhance.Sharpness(im)#创建一个调整图像锐度的增强对象
sharpeness=3.0#设置因子变量
image_sharped=enh_col.enhance(sharpeness)#增强sharpeness倍
image_sharped.show()#显示处理后的图像
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值