python3-pillow库基础使用

模式棱镜
• 阅读 1972

知识点

  • 图像模块 (Image.Image)

    • Image模块的功能
    • Image模块的方法
  • ImageChops模块
  • ImageColor模块

基础使用

图像模块 Image.Image

加载图像对象,旋转90度并显示

from PIL import Image
#显示图像
im = Image.open('background.jpg')
im.show()

# 转换图像90度
im.rotate(90).show()

创建缩略图 128x128

from PIL import Image
import glob, os
size = 128, 128
for infile in glob.glob('D:\code\gitee\pydata\python3-example\pillow_demo\*.jpg'):
    print(infile)
    filename = os.path.split(infile)[-1]
    im = Image.open(infile)
    im.thumbnail(size, Image.ANTIALIAS)
    im.save("D:\code\gitee\pydata\python3-example\pillow_demo\\" + filename)

创建一个新图像, 分辨率为1920*1080

from PIL import Image
im = Image.new('RGB', (1920, 1080), (255, 0, 0))
im1 = Image.new('RGB', (1920, 1080), 'red')
im2 = Image.new('RGB', (1920, 1080), '#FF0000')
im2.show()

将图像转换为PNG

im = Image.open('background.jpg', 'r')
im.save('background.png')
im.show()
im_png = Image.open('background.png', 'r')
print(im_png.format)

ImageChops模块

ImageChops模块包含多个算术图像的操作,称为通道操作,它们可以实现,特殊效果,图像合成,算法绘画等

它的功能大多数通道操作都是采用一个或两个图像参数比较来返回一个新图像,下面只列出一些常用的方法:

IC.lighter(image1,image2):逐个像素地比较两个图像,并返回包含较亮值的新图像

from PIL import Image
from PIL import ImageChops
im1=Image.open('1.jpg')
im2=Image.open('2.jpg')

IC_image=ImageChops.lighter(im1,im2)
IC_image.show()

ImageColor模块

ImageColor模块用来实现RGB颜色表转换,它支持是颜色格式包括:

  • 十六进制颜色说明符,例如,#ff0000指定纯红色
  • RGB函数,以“rgb(红色,绿色,蓝色)”给出,其中颜色值是0到255范围内的整数,如,“rgb(255,0,0)”和“rgb(100%,0%,0%)
  • 常见的HTML颜色名称,例如,“red”指定纯红色

    getrgb(color):将颜色字符串转换为RGB元组

from PIL import ImageColor
IC_image=ImageColor.getrgb('red')
print(IC_image)

#
(255, 0, 0)
点赞
收藏
评论区
推荐文章
半臻 半臻
4年前
Python基础4——模块与包
12模块与包模块通俗地理解为.py文件,里面定义了变量、函数和类。需要的时候就可以导入这些模块。执行步骤1.在python模块加载路径中查找相应的模块文件2.将模块文件编译成中间代码3.执行模块文件中的代码12.1模块分类1.内置模块,也叫标准库,比如说random,time,大概有200多个2.第三方模块,也称为第三方库,使用pipins
CuterCorley CuterCorley
4年前
商业数据分析从入门到入职(8)Python模块、文件IO和面向对象
前言本文先介绍了Python中程序、模块和包的基本使用,并在此基础上介绍了Python标准库。然后详细介绍了Python中的文件IO操作,包括文本文件、二进制文件的读写和其他IO操作。最后介绍了面向对象,包括类的定义、继承的使用、鸭子类型和魔法方法。一、程序、模块和包1.自定义模块和包之前我们使用的.ipynb文件都不是纯Python文件,
Stella981 Stella981
3年前
Python常用模块
一、什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。  但其实import加载的模块分为四个通用类别:   1使用python编写的代码(.py文件)  2已被编译为共享库或DLL的C或C扩展  3包好一组模块的包  4使用C编写并链接到
Stella981 Stella981
3年前
SeaJS从入门到原理
最近项目中抛弃传统的<script而改用SeaJS这样的JS模块加载器了,确实模块加载器对于代码的可维护性带来了较大的提升。1、前言SeaJS是一个模块加载器,模块加载器需要实现两个基本功能:实现模块定义规范,这是模块系统的基础。模块系统的启动与运行。下文会围绕模块定义规范以
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
3年前
ES6模块
默认情况下,你在模块中的所有声明相对于模块而言都是寄存在本地的。如果你希望公开在模块中声明的内容,并让其它模块加以使用,你一定要_导出_这些功能。//kittydar.js找到一幅图像中所有猫的位置//(事实上是HeatherArthur写的这个库)//(但是她没有使用ES6中新的模块特性
Stella981 Stella981
3年前
Python生成图片验证码
最近公司网站,需要在注册模块添加验证码,防止其他人频繁的恶意注册,我们后端使用的是python进行开发,所以研究了下python图片验证码的方法。最后确定使用python里面PIL库,通过Image,ImageDraw,ImageFont,ImageFilter的模块生成图片验证码设计思路(这里就不画图了):(1)用户填写用户名(必须先填)
Stella981 Stella981
3年前
Python 模块:XlsxWriter 的使用
一、安装XlsxWriter使用命令:pip3installxlsxwriter!(https://imgblog.csdnimg.cn/img_convert/25743c7e6c300010a4154227903b92de.png)二、验证是否安装成功
Stella981 Stella981
3年前
Python基础(七)
1模块函数1.1模块函数模块函数指的是模块中的函数,模块函数有三种:内置模块:又叫标准库.第三方开源模块:可以通过包管理工具进行安装.自定义模块.1.2导入导入方法主要有三种:1.2.1importmoudleimportmath
Stella981 Stella981
3年前
Python基础(八)
1模块1.1模块模块是一个python文件,其中包含对象定义与语句等.多个模块再加上\_\_init\_\_.py就变成了一个包.1.2模块存在形式模块可以分成两种:非内置模块与内置模块.1.2.1非内置模块非内置模块以.py文件的形式存在,放在对应的包下.1.
小万哥 小万哥
1年前
Python 日期和时间处理教程:datetime 模块的使用
Python中的日期不是独立的数据类型,但我们可以导入一个名为datetime的模块来使用日期作为日期对象。示例:导入datetime模块并显示当前日期:pythonimportdatetimexdatetime.datetime.now()print(x