python图像处理库pillow

安装

pip install pillow

使用

导入

from PIL import pillow

读取图像

picture = Image.open('test.jpg')

新建图像

picture = Image.new('RGB', (200, 200),  'red')

第一个参数是mode即颜色空间模式,第二个参数指定了图像的分辨率(宽x高),第三个参数是颜色。

  • 可以直接填入常用颜色的名称。如'red'。

  • 也可以填入十六进制表示的颜色,如#FF0000表示红色。

  • 还能传入元组,比如(255, 0, 0, 255)或者(255, 0, 0)表示红色。

保存图像

picture.save('test.jpg')

图像坐标

(左, 顶, 右, 底)

常用属性

# 文件名
print(image.filename) # 文件格式
print(image.format) # 文件模式
print(image.mode) # 文件大小
print(image.size) # 文件宽度
print(image.width) # 文件高度
print(image.height) # 文件信息
print(image.info)

常用方法

# 剪切
croped_im = image.crop((0, 0, 200, 200))
croped_im.save('14.jpg') # 复制
copy_im = croped_im.copy()
copy_im.save('13.jpg') # 粘贴
croped_im = image.crop((0, 0, 300, 300))
croped_im.show()
image.paste(croped_im, (100, 100))
image.save('12.jpg') # 调整大小
resized_im = image.resize((683, 728))
resized_im.show() # 调整大小,(制造缩略图)
w, h = image.size
image.thumbnail((w//2, h//2))
image.show() # 旋转图像
image = image.rotate(45)
image.show()
image = image.rotate(45, expand=100)
image.show() # 翻转图像
image = image.transpose(Image.FLIP_LEFT_RIGHT)
image.show()
image = image.transpose(Image.FLIP_TOP_BOTTOM)
image.show() # 获取图片通道名称
image = image.getbands()
print(image) # 通过通道切割图片
R, G, B = image.split()
R.show()
G.show()
B.show()
print((R, G, B)) # 获取单个通道的图片
R = image.getchannel('R')
R.show() # 模式转化
image = image.convert('L')
image.show() # 获取单个像素值
image = image.getpixel((100,100))
print(image) # 加载图片全部数据
pixdata = image.load()
pixdata[1,1] = 255, 255, 255
image.show()
print(pixdata)
print(pixdata[0,0])
print(type(pixdata[0,1]))
print([i for x in range(1) for y in range(1) for i in pixdata[x, y]]) # 获取所有像素内容
image = image.getdata()
image = image.getdata(band=0)
image = image.getdata(band=1)
image = image.getdata(band=2)
print(image)
print(list(image)[0]) # 关闭图片
image.show()
image.close()

python第三方库-图像处理库pillow的更多相关文章

  1. Python下的图像处理库,你选哪个?

    奥里给~ 转载:https://blog.csdn.net/chen801090/article/details/105795068/ 在进行数字图像处理时,我们经常需要对图像进行读取.保存.缩放.裁 ...

  2. 从 Python 第三方进度条库 tqdm 谈起 (转载)

    原文地址: https://blog.ernest.me/post/python-progress-bar tqdm 最近一款新的进度条 tqdm 库比较热门,声称比老版的 python-progre ...

  3. Python图像处理库Pillow入门

    http://python.jobbole.com/84956/ Pillow是Python里的图像处理库(PIL:Python Image Library),提供了了广泛的文件格式支持,强大的图像处 ...

  4. Python图像处理库——PIL

    PIL全称Python Image Library,是python官方的图像处理库,包含各种图像处理模块.Pillow是PIL的一个派生分支,包含与PIL相同的功能,并且更灵活.python3.0之后 ...

  5. Python图像处理库PIL中图像格式转换

    o 在数字图像处理中,针对不同的图像格式有其特定的处理算法.所以,在做图像处理之前,我们需要考虑清楚自己要基于哪种格式的图像进行算法设计及其实现.本文基于这个需求,使用python中的图像处理库PIL ...

  6. Python图像处理库PIL中图像格式转换(一)

    在数字图像处理中,针对不同的图像格式有其特定的处理算法. 所以,在做图像处理之前,我们须要考虑清楚自己要基于哪种格式的图像进行算法设计及事实上现.本文基于这个需求.使用python中的图像处理库PIL ...

  7. Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载

    ☞ ░ 前往老猿Python博文目录 ░ 一.简介 MoviePy是一个用于视频编辑的Python模块,可用于进行视频的基本操作(如剪切.拼接.标题插入).视频合成(也称非线性编辑).视频处理或创建高 ...

  8. Python图像处理库:Pillow 初级教程

    Python图像处理库:Pillow 初级教程 2014-09-14 翻译 http://pillow.readthedocs.org/en/latest/handbook/tutorial.html ...

  9. Python图像处理库Pillow常用使用方法

    PIL(Python Imaging Library)是Python一个强大方便的图像处理库,只支持到Python2.7.Pillow是PIL的一个派生分支,在Python3中用Pillow代替PIL ...

随机推荐

  1. JavaWeb_(Struts2框架)Servlet与Struts区别

    JavaWeb_(SSH)使用Servlet实现用户的登陆 传送门 JavaWeb_(SSH)使用Struts框架实现用户的登陆 传送门 MySQL数据库中存在Gary用户,密码为123:第一次登陆时 ...

  2. [CSP-S模拟测试]:那一天她里我而去(堆优化Dijkstra)

    题目传送门(内部题3) 输入格式 每个测试点有多组测试数据.第一行有一个正整数T表示数据组数.接下来对于每组数据,第一行有两个正整数n,m分别代表图的点数和边数.接下来有m行,每行三个整数u,v,d表 ...

  3. linux shell 之流程控制 if if else while

    (1)流程控制不可以为空: (2)if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi 条件 ...

  4. easyui编辑editor

    $.extend($.fn.datagrid.defaults.editors, { textarea: { init: function(container, options){ var input ...

  5. git commit 合并到指定分支

    1. 将指定的commit合并到当前分支 git cherry-pick  commit_id 2. 合并多个连续 commit 到指定分支 假设需要合并 devlop 上从 fb407a3f 到 9 ...

  6. CentOS7中使用GitBlit搭建自己的Git服务器

    1.搭建依赖库 yum install java yum install git yum install -y gcc-c++ curl-devel expat-devel gettext-devel ...

  7. Linux配置Key,禁止root实现免密码登陆

    前言:        我所理解的是Key登陆认证方式,其实就是拿私钥去解密公钥,私钥需要自己妥善保管,公钥可以随意公开. 废话少说,准备2台服务器,Server1:192.168.1.1   Serv ...

  8. Log4j rootLogger根配置以及4种日志级别

    Log4j 根配置语法 log4j.rootLogger = [ level ] , appenderName, appenderName, … 把指定级别以上的日志信息输出到指定的一个或者多个位置 ...

  9. Can not find connection pool config file

    暂时未解决 checkActivation=====================true Can Not Parse ConnectionCfg! 2019/10/12-11:23:38 > ...

  10. 安装VMTool

    一.       安装VMTool 开启虚拟机,然后在VMware上选虚拟机->安装VMTool 如果提示光驱被占用就先用root登录 在命令行中挂载光盘   #mount /dev/cdrom ...