本文小编为大家详细介绍“python的Pillow图像处理方法怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python的Pillow图像处理方法怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
一、安装
pip install Pillow
二、打开图片
from PIL import Image
im = Image.open("picture.jpg")
im.show()
三、转换格式并保存
from PIL import Image
im = Image.open("picture.jpg")
im.save("result.png")
四、创建缩略图
from PIL import Image
im = Image.open("picture.jpg")
im.thumbnail((128, 128))
im.save("result.jpg")
五、获取图片属性
from PIL import Image
im = Image.open("picture.jpg")
print(im.format)
六、图片信息
from PIL import Image
im = Image.open("picture.jpg")
print(im.info)
七、调色板
from PIL import Image
im = Image.open("picture.jpg")
print(im.palette)
八、画板
from PIL import Image
im= Image.new("RGB", (128, 128), "#FF0000")
im.show()
九、图片模式
from PIL import Image
im = Image.open("picture.jpg")
print(im.mode)
十、模式转换
from PIL import Image
im = Image.open("picture.jpg")
new_im = im.convert('L')
print(new_im.mode)
new_im.show()
十一、矩阵模式转换
from PIL import Image
im = Image.open("picture.jpg")
print(im.mode)
matrix = (0.412453,0.357580, 0.180423, 0,
0.212671,0.715160, 0.072169, 0,
0.019334,0.119193, 0.950227, 0 )
new_im = im.convert("L", matrix)
print(new_im.mode)
new_im.show()
十二、图片尺寸
from PIL import Image
im = Image.open("picture.jpg")
print(im.size)
十三、通道分离
返回当前图像各个通道组成的一个元组
分离一个 RGB 图像将产生三个新的图像
分别对应原始图像的每个通道红、绿、蓝三张图片
from PIL import Image
im = Image.open("picture.jpg")
r,g,b = im.split()
print(r.mode)
print(r.size)
print(im.size)
十四、复制、裁剪、粘贴、合并
from PIL import Image
im = Image.open("picture.jpg")
# 复制
im.copy()
# 裁剪
im.crop((100, 100, 400, 400))
# 将一张图粘贴到另一张图像上
im.paste(im.transpose(Image.ROTATE_180),im)
# 合并类使用一些单通道图像,创建一个新的图像
Image.merge("RGB", im.split())
十五、几何变换
from PIL import Image
im = Image.open("picture.jpg")
# 修改尺寸
im.resize((128, 128))
# 角度旋转
im.rotate(45)
# 返回当前图像的翻转或者旋转的拷贝
# 值为:FLIP_LEFT_RIGHT,FLIP_TOP_BOTTOM,ROTATE_90,ROTATE_180,ROTATE_270
im.transpose(Image.ROTATE_90)
# 用给定的尺寸生成一张新的图像,与原图有相同的模式
im.transform((200, 200), Image.EXTENT, (0, 0, 300, 300))
十六、高级图片处理
from PIL import Image
from PIL import ImageEnhance
im = Image.open("picture.jpg")
enh = ImageEnhance.Contrast(im)
enh.enhance(1.3).show("30% more contrast")
十七、滤波器处理
from PIL import Image
from PIL import ImageFilter
im = Image.open("picture.jpg")
# 均值滤波
im1 = im.filter(ImageFilter.BLUR)
# 找轮廓
im2 = im.filter(ImageFilter.CONTOUR)
# 边缘检测
im3 = im.filter(ImageFilter.FIND_EDGES)
im.show()
im1.show()
im2.show()
im3.show()
十八、设置透明度合成两张图
from PIL import Image
im1 = Image.open("picture1.jpg")
im2 = Image.open("picture2.jpg")
im = Image.blend(im1, im2, 0.30)
im.show()
十九、设置模式合成两张图
from PIL import Image
im1 = Image.open("picture1.jpg")
im2 = Image.open("picture2.jpg")
im = Image.composite(im1, im2, 'L')
im.show()
二十、草稿模式
from PIL import Image
im = Image.open("picture.jpg")
print(im.size,im.mode)
new_im = im.draft("L", (200,200))
print(new_im.size,new_im.mode)
new_im.show()
二十一、获取通道名称
from PIL import Image
im = Image.open("picture.jpg")
print(im.getbands())
二十二、获取包围盒
from PIL import Image
im = Image.open("picture.jpg")
print(im.getbbox())
二十三、获取像素值
from PIL import Image
im = Image.open("picture.jpg")
print(im.getdata())
二十四、获取图片极值
from PIL import Image
im = Image.open("picture.jpg")
print(im.getextrema())
二十五、指定位置像素值
from PIL import Image
im = Image.open("picture.jpg")
print(im.getpixel((10,0)))
二十六、获取图像直方图
from PIL import Image
im = Image.open("picture.jpg")
im_histogram = im.histogram()
print(im_histogram[0])
二十七、内存分配
为图像分配内存并从文件中加载它
返回一个用于读取和修改像素的像素访问对象
from PIL import Image
im = Image.open("picture.jpg")
pix = im.load()
print(pix[0,2])
二十八、查找指定的帧
from PIL import Image
im_gif = Image.open("loading.gif")
print(im_gif.mode)
# 默认打开时是第0帧
im_gif.show()
im_gif.seek(1)
im_gif.show()
im_gif.seek(3)
im_gif.show()
二十九、获取当前帧位置
from PIL import Image
im_gif = Image.open("loading.gif")
print(im_gif.tell())
im_gif.seek(3)
print(im_gif.tell())
读到这里,这篇“python的Pillow图像处理方法怎么用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注天达云行业资讯频道。