pythonpil库过滤图像contour_Python之PIL库的运用、GIF处理h

本文详细介绍了Python的PIL库,包括其用于图像归档和处理的功能,如图像读取、创建、转换和保存。重点讨论了Image类的常用方法,如图像缩略、像素处理和通道交换。此外,还探讨了ImageFilter类的图像过滤效果,如轮廓、平滑和锐化。最后,提到了ImageEnhance类用于图像增强的技术,如调整颜色平衡、对比度和亮度。通过实例代码展示了如何使用这些功能操作图像。
摘要由CSDN通过智能技术生成

一.PIL库简介

PIL(Python Image Library)库是Python语言的第三方库,它支持图像存储、显示和处理,它能够处理几乎所有图片格式,可以完成对图像的缩放、剪裁、折叠以及像图片添加线条、图像和文字等操作。

1.PIL库主要可以实现图像归档和图像处理两方面功能需求。

(1)图像归档:对图像进行批处理、生成图像预览、图像格式转换等。

(2)图像处理:图像基本处理、像素处理、颜色处理等。

二.PIL库的子库(共21个)

现仅选取Image类、ImageFilter类与ImageEnhance类进行介绍。

1.Image类

1.1 Image类的图像读取与创建

方法

描述

Image.open(filename)

根据参数加载图像文件

Image.new(mode,size,color)

根据给定参数创建一个新的图像

Image.open(StringIO.StringIO(buffer))

从字符串中获取图像

Image.frombytes(mode,size,data)

根据像素点data创建图像

Image.verify()

对图像文件完整性进行检查,返回异常

现在通过如下代码:

1 from PIL importImage2 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg') #读取图片

3 im.show() #展示图片

然后用系统自带图片处理器展示图片:

1. 2 Image类的常用属性:

方法

说明

Image.format

图像格式或来源,若图像不是从文件读取,返回None

Image.mode

图像的色彩模式,’L’为灰度模式,’RGB’为真彩色图像,’C(青)M(品红)Y(黄)K(黑)’为出版图像

Image.size

图像的宽度和高度,单位是像素(px),返回值为元组类型

Image.palette

调色板属性,返回ImagePalette类型

1.3 Image类的图像转换和保存方法:

方法

说明

Image.save(filename,format)

将图像保存为filename文件名,format格式

Image.convert(mode)

将图像转换为mode模式

Image.thumbnail(size)

创建图像的缩略图,size是缩略图尺寸的元组

尝试做图像的缩略图,输入如下代码:

1 from PIL importImage2 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg')3 im.thumbnail((128,128))4 im.save("minifive","PNG")

结果:(超小的)

1.4 Image类的图像像素和通道处理方法:

方法

说明

Image.point(func)

根据函数func的功能对每个元素进行运算,返回图像副本

Image.split()

根据GRB图像的每个颜色通道,返回图像副本

Image.merge(mode,bands)

合成通道,其中mode为色彩,bands为新的色彩通道

Image.blend(im1,im2,alpha)

将2张图片im1和im2按照公式插值后生成新图像

公式:im1*(1.0 - alpha) + im2*alpha

现在我尝试交换图像中的颜色,输入如下代码:

1 from PIL importImage2 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg')3 r,g,b=im.split()4 om=Image.merge("RGB",(b,g,r))5 om.save('fivebgr.jpg')

原图——新图

    

(哈哈,有些可怕)

2.ImageFilter类(图像的过滤)

2.1 ImageFilter类预定义图像过滤方法

方法

说明

ImageFilter.BLUR

图像的模糊效果

ImageFilter.CONTOUR

图像的轮廓效果

ImageFilter.DETAIL

图像的细节效果

ImageFilter.EDGE_ENHANCE

图像的边界加强效果

ImageFilter.EDGE_ENHANCE_MORE

图像的阈值边界加强效果

ImageFilter.EMBOSS

图像的浮雕效果

ImageFilter.FIND_EDGES

图像的边界效果

ImageFilter.SMOOTH

图像的平滑效果

ImageFilter.SMOOTH_MORE

图像的阈值平滑效果

ImageFilter.SHARPEN

图像的锐化效果

有这么多功能,我就尝试一下其中一个吧。

输入代码:

1 from PIL importImage2 from PIL importImageFilter3 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg')4 om=im.filter(ImageFilter.CONTOUR)5 om.save('fiveCONTOUR.png')

轮廓版图像:

3.ImageEnhance类(图像增强)

3.1 ImageEnhance类图像增强与滤镜方法

方法

说明

ImageEnhance.enhance(factor)

对所选属性的数值增强factor倍

ImageEnhance.Color(im)

调整图像的颜色平衡

ImageEnhance.Contrast(im)

调整图像的对比度

ImageEnhance.Brightness(im)

调整图像的亮度

ImageEnhance.Sharpness(im)

调整图像的锐度

在这就不展示了,大家自己尝试一下吧~

三、GIF

我选取一个gif对它进行分解

输入代码:

1 from PIL importImage2 im=Image.open('D:\\kaixin.gif')3 try:4 im.save('picframe{:02d}.png'.format(im.tell()))5 whileTrue:6 im.seek(im.tell()+1)7 im.save('picframe{:02d}.png'.format(im.tell()))8 except:9 print("处理结束")

结果:(哇~)

The end...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值