python pillow库的基础使用教程
作者:changhao 发布时间:2023-05-21 19:19:29
标签:python,pillow库
知识点
图像模块 (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)
来源:https://segmentfault.com/a/1190000038954670


猜你喜欢
- 问题你需要将一个Python对象序列化为一个字节流,以便将它保存到一个文件、存储到数据库或者通过网络传输它。解决方案对于序列化最普遍的做法就
- 例子class A(object): def foo(self,x): print "exe
- 来自 * 我们的大脑通常最多能感知三维空间,超过三维就很难想象了。尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面。不过,我们
- 背 景:在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度, 那么所有节点为根的树的深度均不会超过树的最大深度,则我们
- 我对定格动画非常喜爱,也曾经在大学毕业时期制作过一部个人定格动画MV.恰当给CDC博客写文之机,给大家介绍下定格动画,分享下这门独特的拍摄艺
- 本文实例讲述了C#操作SQLite数据库帮助类。分享给大家供大家参考,具体如下:最近有WPF做客户端,需要离线操作存储数据,在项目中考虑使用
- 语法: ROW_NUMBER() OVER([ <partition_by_clause>] <order_by_clau
- 本文实例讲述了JS使用eval()动态创建变量的方法。分享给大家供大家参考,具体如下:一、什么是eval()函数?eval_r()函数可计算
- 本文较为详细的讲述了PHP图片库imagemagick的安装方法。分享给大家供大家参考。具体方法如下:1.下载ImageMagickhttp
- golang常用库:gorilla/mux-http路由库使用golang常用库:配置文件解析库-viper使用golang常用库:操作数据
- 举例如下,一个服务器端的form 代码自动被解释成客户端代码:服务器端代码: &l
- re.findall()方法及re.compile()re.findall()在字符串中找到正则表达式所匹配的所有子串,并返回一个列表;如果
- vue中,我们构建单页面应用时候,一定必不可少用到vue-routervue-router 就是我们的路由,这个由vue官方提供的插件首先在
- 前言限流器,顾名思义用来对高并发的请求进行流量限制的组件。限流包括 Nginx 层面的限流以及业务代码逻辑上的限流。流量的限制在众多微服务和
- QMainWindowQMainWindow类中比较重要的方法方法描述addToolBar()添加工具栏centralWidge()返回窗口
- 前言大家应该都知道在编程语言中,定时任务是常用的一种调度形式,在Python中也涌现了非常多的调度模块,本文将简要介绍APScheduler
- 今天要处理通知书上的日期,写的一个处理程序,效率可能不是最优的,不过实现功能绝对没问题。注:月份和天要分>10,=10,<10三
- 背景我打开手机,发现有人在QQ空间里叫嚣。看他得意的样子,显然是在家里呆久了,已经忘了天有多高。预处理设计一个迷宫自动寻路算法并不难,但是对
- 写在前面在QQ群,微信群,论坛中经常帮助使用SQL Server数据库的朋友解决问题,但是有一些最常见最基本的问题,每天都有人问,回答多了也
- 实现效果完整代码+详细注释<template> <div class="echart"&g