PIL图像处理,pil处理图片,Python 图像处理之PIL库详解用法

PIL图像处理,pil处理图片,Python 图像处理之PIL库详解用法

对于图像识别来说,大量的工作在于图像处理。只有处理效果好,才能得到很好的认可。所以,好的图像处理是识别的基础。在Python中,有一个优秀的图像处理框架,那就是PIL库。本文将介绍PIL图书馆的各种方法,并举例说明。

目录

前言PIL库概述图像类解析图像的创建图像的属性图像的转换处理摘要

前言

提示:以下是本文的主要内容。

PIL库概述

PIL图书馆支持图像存储、显示和处理。它可以处理几乎所有的图像格式,并可以完成

缩放、裁剪、叠加和添加线条、图像和文本到图像。

PIL图书馆可以满足图像存档和图像处理的功能要求:

(1)图像存档:图像的批量处理、图像预览生成、图像格式转换等。

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

Image类解析

图像的创建

在PIL中,任何图像文件都可以使用Image对象来表示Image类的图像读取和创建方法。

方法

形容

Image.open(文件名)

根据参数加载图像文件。

Image.new(模式、大小、颜色)

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

Image.open(StringIO。斯特林吉奥(缓冲区))

从字符串中获取图像。

Image.frombytes(模式、大小、数据)

基于像素数据创建图像

Image.verify()

检查图像文件的完整性并返回一个异常。

从PIL进口图片

im=image . open(r ' e:\ py charm \ Project \ pictures \ 2049675 . jpg ')

Im.show() //显示

基本如下图所示

图像的属性

属性

形容

图像.格式

标识图像格式或来源。如果图像不是从文件中读取的,则该值为None。

图像模式

图像颜色模式,' L '灰度图像,' RGB '真彩色图像,' CMYK '发布图像

图像.格式

标识图像格式或来源。如果图像不是从文件中读取的,则该值为None。

图像.大小

图像宽度和高度,以像素(px)为单位,返回值为tuple。

图像.调色板

调色板,它返回ImagePalette类型。

从PIL进口图片

im=image . open(r ' e:\ py charm \ Project \ pictures \ 2049675 . jpg ')

im.show()

打印(即时格式,即时大小)

#结果

# JPEG (1920,1080)

图像的转换

方法

形容

Image.save(文件名,格式)

将图像保存为文件名,格式为图片格式。

图像.转换(模式)

使用不同的参数将图像转换成新的模式。

Image.thumbnail(大小)

创建图像的缩略图,大小是缩略图大小的二元元组。

将jpg转换为png

从PIL进口图片

im=image . open(r ' e:\ py charm \ Project \ pictures \ 2049675 . jpg ')

打印(即时消息)

im . save(r ' e:\ py charm \ Project \ pictures \ 2049675 changed . png ')

im=image . open(r ' e:\ py charm \ Project \ pictures \ 2049675 changed . png ')

打印(即时消息)

im.show()

#结果

PIL。JpegImagePlugin.JpegImageFile图像模式=RGB大小=1920x1080 at0x1A8DE865F40

PIL。PngImagePlugin.PngImageFile图像模式=RGB大小=1920x1080 at0x1A8DE8D2E80

GIF图像提取。

对于GIF格式的动态文件,提取每帧图像并保存为文件。

从PIL进口图片

im=image . open(r ' e:\ py charm \ project \ pictures \ 21。GIF') #在GIF文件中读取

尝试:

im.save('picframe{:02d})。巴布亚新几内亚。format(im.tell()))

虽然正确:

im.seek(im.tell() 1) #帧的位置

im.save('picframe{:02d})。巴布亚新几内亚。format(im.tell()))

除了:

打印(“处理结束”)

结果

Tell()方法:返回当前帧的位置,从0开始计数。

极小的

从PIL进口图片

im=image . open(r ' e:\ py charm \ Project \ pictures \ 2050 074 . jpg ')

打印(即时消息)

im.thumbnail((128,99))

im.save('mm ',' JPEG ')

打印(即时消息)

im.show()

#结果

PIL。JpegImagePlugin.JpegImageFile图像模式=RGB大小=2757x2135 at0x238DFCD5DC0

PIL。JpegImagePlugin.JpegImageFile图像模式=RGB大小=128x99 at0x238DFCD5DC0

图像处理

1.image类可以对图像进行缩放和旋转,其中rotate()方法是用逆时针旋转的角度值做的。

旋转参数的图像。

方法

形容

Image.resize(大小)

调整图像大小以生成副本。

Image.rotate(角度)

按角度旋转图像以生成副本。

2.Image类可以独立操作RGB图像的每个像素或每个通道,split()

该方法可以提取RGB图像的每个颜色通道,merge()方法可以将每个独立的通道重新组合成一个新的图像。

方法

形容

Image.point(函数)

根据func函数,操作每个元素并返回图像的副本。

Image.split()

提取RGB图像的每个颜色通道并返回图像副本。

Image.merge(模式、波段)

合并通道,使用模式颜色,波段是新颜色的颜色通道。

Image.blend(im1,im2,alpha)

根据以下公式对两个图片im1和im2进行插值以生成新图像:im1 *(1.0-)im2 *。

图像的颜色交换

通过分离RGB图像的三个颜色通道,可以实现图像中的颜色交换。

从PIL进口图片

im=image . Open(r ' e:\ py charm \ project \ pictures \ 2050536 . jpg ')#打开文件

r,g,b=im.split() #获取RGB通道数据

New=g.point (lambda I: I * 0.9) #将G通道的颜色值改为原来的0.9倍。

New=b.point (lambda I: I 100) #选择B通道值小于100的像素。

OM=image.merge (im.mode,(r,newg,newb)) #将三个通道组合成一个新的图像。

om . save(r ' e:\ py charm \ project \ pictures \ aa . jpg ')#输出图片

om.show()

原图:

交换后

3.图像过滤和增强

PIL库的ImageFilter类和ImageEnhance类提供了10种过滤和增强图像的方法。

方法表示

形容

图像过滤器。虚化

图像的模糊效果

图像过滤器。轮廓

图像轮廓效果

图像过滤器。详述

图像细节效果

图像过滤器。边缘增强

图像的边缘增强效果

图像过滤器。边缘_增强_更多

基于图像阈值的边界增强效果

图像过滤器。装饰

图像的浮雕效果

图像过滤器。查找_边

图像的边界效应

图像过滤器。光滑的

图像平滑效果

图像过滤器。平滑_更多

图像的阈值平滑效果

图像过滤器。尖锐

图像的锐化效果

轮廓效应

从PIL进口图片

从PIL导入图像过滤器

im=image . open(r ' e:\ py charm \ Project \ pictures \ 2050558 . jpg ')

om=im.filter(ImageFilter。轮廓)

om.save('abc.jpg ')

om.show()

原图:

修改后:

4.四号。ImageEnhance类提供了更高级的图像增强需求,它提供了调整颜色程度、亮度、对比度、锐化等功能。

方法

形容

ImageEnhance.enhance(因子)

将选定属性的值增加因子倍。

图像增强。颜色(im)

调整图像的色彩平衡

图像增强。对比度(im)

调整图像的对比度。

图像增强。亮度(im)

调整图像的亮度

图像增强。锐度(im)

调整图像的清晰度

总结

提示:下面是这篇文章的摘要:

关于Python图像处理的PIL库的详细用法,本文到此结束。有关Python图像处理的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: