目录
- 一、安装
- 二、打开图片
- 三、转换格式并保存
- 四、创建缩略图
- 五、获取图片属性
- 六、图片信息
- 七、调色板
- 八、画板
- 九、图片模式
- 十、模式转换
- 十一、矩阵模式转换
- 十二、图片尺寸
- 十三、通道分离
- 十四、复制、裁剪、粘贴、合并
- 十五、几何变换
- 十六、高级图片处理
- 十七、滤波器处理
- 十八、设置透明度合成两张图
- 十九、设置模式合成两张图
- 二十、草稿模式
- 二十一、获取通道名称
- 二十二、获取包围盒
- 二十三、获取像素值
- 二十四、获取图片极值
- 二十五、指定位置像素值
- 二十六、获取图像直方图
- 二十七、内存分配
- 二十八、查找指定的帧
- 二十九、获取当前帧位置
一、安装
- 被认为是python官方图像处理库
- PIL非常适合于图像归档以及图像的批处理任务。可以使用PIL创建缩略图,转换图像格式,打印图像等等
- PIL支持众多的GUI框架接口,可以用于图像展示
- PIL库同样支持图像的大小转换,图像旋转,以及任意的仿射变换
pip install Pillow
二、打开图片
from PIL import Image
im = Image.open("picture.jpg")
im.show()
三、转换格式并保存
from PIL import Image
im = Image.open("picture.jpg")
im.save("result.png")
四、创建缩略图
from PIL import Image
im = Image.open("picture.jpg")
im.thumbnail((128, 128))
im.save("result.jpg")
五、获取图片属性
- 获取图像的来源,如果图像不是从文件读取它的值就是None。
from PIL import Image
im = Image.open("picture.jpg")
print(im.format)
六、图片信息
from PIL import Image
im = Image.open("picture.jpg")
print(im.info)
七、调色板
- 如果图像的模式是“P”,则返回Image Palette类的实例;否则,将为None
from PIL import Image
im = Image.open("picture.jpg")
print(im.palette)
八、画板
from PIL import Image
im= Image.new("RGB", (128, 128), "#FF0000")
im.show()
九、图片模式
- 图像的模式,常见如下
- L:8位像素,黑白
- P:9位像素,使用调色板映射到任何其他模式
- 1:1位像素,黑白图像,存成8位像素
- RGB:3*8位像素,真彩
- RGBA:4*8位像素,真彩+透明通道
- CMYK:4*8位像素,印刷四色模式或彩色印刷模式
- YCbCr:3*8位像素,色彩视频格式
- I:32位整型像素
- F:33位浮点型像素
from PIL import Image
im = Image.open("picture.jpg")
print(im.mode)
十、模式转换
from PIL import Image
im = Image.open("picture.jpg")
new_im = im.convert('L')
print(new_im.mode)
new_im.show()
十一、矩阵模式转换
- 使用转换矩阵将一个“RGB”图像转换为“L”或者“RGB”图像
from PIL import Image
im = Image.open("picture.jpg")
print(im.mode)
matrix = (0.412453,0.357580, 0.180423, 0,
0.212671,0.715160, 0.072169, 0,
0.019334,0.119193, 0.950227, 0 )
new_im = im.convert("L", matrix)
print(new_im.mode)
new_im.show()
十二、图片尺寸
- 获取图像的尺寸,按照像素数计算,它的返回值为宽度和高度的二元组
from PIL import Image
im = Image.open("picture.jpg")
print(im.size)
十三、通道分离
- 返回当前图像各个通道组成的一个元组
- 分离一个 RGB 图像将产生三个新的图像
- 分别对应原始图像的每个通道红、绿、蓝三张图片
from PIL import Image
im = Image.open("picture.jpg")
r,g,b = im.split()
print(r.mode)
print(r.size)
print(im.size)
十四、复制、裁剪、粘贴、合并
from PIL import Image
im = Image.open("picture.jpg")
# 复制
im.copy()
# 裁剪
im.crop((100, 100, 400, 400))
# 将一张图粘贴到另一张图像上
im.paste(im.transpose(Image.ROTATE_180),im)
# 合并类使用一些单通道图像,创建一个新的图像
Image.merge("RGB", im.split())
十五、几何变换
- Image类有resize()、rotate()和transpose()、transform()方法进行几何变换
from PIL import Image
im = Image.open("picture.jpg")
# 修改尺寸
im.resize((128, 128))
# 角度旋转
im.rotate(45)
# 返回当前图像的翻转或者旋转的拷贝
# 值为:FLIP_LEFT_RIGHT,FLIP_TOP_BOTTOM,ROTATE_90,ROTATE_180,ROTATE_270
im.transpose(Image.ROTATE_90)
# 用给定的尺寸生成一张新的图像,与原图有相同的模式
im.transform((200, 200), Image.EXTENT, (0, 0, 300, 300))
十六、高级图片处理
- 使用
ImageEnhance对象就能快速地进行设置。 可以调整对比度、亮度、色平衡和锐利度
from PIL import Image
from PIL import ImageEnhance
im = Image.open("picture.jpg")
enh = ImageEnhance.Contrast(im)
enh.enhance(1.3).show("30% more contrast")
十七、滤波器处理
from PIL import Image
from PIL import ImageFilter
im = Image.open("picture.jpg")
# 均值滤波
im1 = im.filter(ImageFilter.BLUR)
# 找轮廓
im2 = im.filter(ImageFilter.CONTOUR)
# 边缘检测
im3 = im.filter(ImageFilter.FIND_EDGES)
im.show()
im1.show()
im2.show()
im3.show()
十八、设置透明度合成两张图
- 使用给定的两张图像及透明度变量alpha,生成一张新的图像
- 变量alpha值在0和1之间
- 若变量alpha为0.0,返回第一张图像的拷贝。若变量alpha为1.0,将返回第二张图像的拷贝。
from PIL import Image
im1 = Image.open("picture1.jpg")
im2 = Image.open("picture2.jpg")
im = Image.blend(im1, im2, 0.30)
im.show()
十九、设置模式合成两张图
- 使用给定的两张图像及mask图像作为透明度,生成一张新的图像
- 图像的模式可以为“1”,“L”或者“RGBA”
- 所有图像必须有相同的尺寸
from PIL import Image
im1 = Image.open("picture1.jpg")
im2 = Image.open("picture2.jpg")
im = Image.composite(im1, im2, 'L')
im.show()
二十、草稿模式
- 速度要求比质量高的场合
- 允许在不读取文件内容的情况下尽可能(可能不会完全等于给定的参数)地将图片转成给定模式和大小,这在生成缩略图的时候非常有效
from PIL import Image
im = Image.open("picture.jpg")
print(im.size,im.mode)
new_im = im.draft("L", (200,200))
print(new_im.size,new_im.mode)
new_im.show()
二十一、获取通道名称
- 返回包括每个通道名称的元组
- 例如,对于RGB图像将返回(“R”,“G”,“B”)
from PIL import Image
im = Image.open("picture.jpg")
print(im.getbands())
二十二、获取包围盒
- 计算图像非零区域的包围盒
- 这个包围盒是一个4元组,定义了左、上、右和下像素坐标
- 如果图像是空的,这个方法将返回空
from PIL import Image
im = Image.open("picture.jpg")
print(im.getbbox())
二十三、获取像素值
from PIL import Image
im = Image.open("picture.jpg")
print(im.getdata())
二十四、获取图片极值
from PIL import Image
im = Image.open("picture.jpg")
print(im.getextrema())
二十五、指定位置像素值
from PIL import Image
im = Image.open("picture.jpg")
print(im.getpixel((10,0)))
二十六、获取图像直方图
from PIL import Image
im = Image.open("picture.jpg")
im_histogram = im.histogram()
print(im_histogram[0])
二十七、内存分配
- 为图像分配内存并从文件中加载它
- 返回一个用于读取和修改像素的像素访问对象
from PIL import Image
im = Image.open("picture.jpg")
pix = im.load()
print(pix[0,2])
二十八、查找指定的帧
- 给定的动态图中查找指定的帧
- 如果查找超越了序列的末尾,则产生一个EOFError异常
- 当文件被打开时,PIL库自动指定到第0帧上
from PIL import Image
im_gif = Image.open("loading.gif")
print(im_gif.mode)
# 默认打开时是第0帧
im_gif.show()
im_gif.seek(1)
im_gif.show()
im_gif.seek(3)
im_gif.show()
二十九、获取当前帧位置
from PIL import Image
im_gif = Image.open("loading.gif")
print(im_gif.tell())
im_gif.seek(3)
print(im_gif.tell())
相关推荐:
OpenAI银联支付-未来支付新体验,安全便捷全新升级,医学加ai
AI优化文章:如何利用人工智能提升写作效率和质量
SEO更好,让你的网站从此脱颖而出,渝中的知名网站建设
《权重参谋:让您的网站轻松登顶搜索引擎的秘密武器》,设计微信社群私域营销推广简案
ChatGPT目前,我无法查看或打开附件,但我依然能为你提供全面的帮助,苹果ai谷歌ai
ChatGPTWindows版本下载:让AI助力您的工作和生活,ai yamama
seo要学什么语言,做seo需要什么语言 ,ai martino
SEO优化攻略:如何通过精准策略提升网站排名与流量,aI ow翻译
SEO任何:如何通过精准优化让网站流量突破极限,太原网站建设培训班
seo菲律宾是做什么,菲律宾网址排名 ,openl ai
SEO薪资这些,你也能月入过万!,天水网站建设公司
怎么看文章是不是AI生成的?揭秘背后的玄机与技巧
《*采集站:带你领略全球最全*资源的宝藏平台》,seo优化易下拉瞧瞧
UCMS:引领智慧医疗新时代,打造数字化健康未来,推广工作谈营销
SEO表格:优化网站排名的秘密武器,大数据推广营销费用多少
实用AI工具:提升效率、优化生活的科技利器
WP原创:打造属于你的独特网站,从这里开始!,一个网站推广一个月需要多少钱
SEO是如何推动企业增长的关键力量,深圳罗湖网站建设设计
个性化广告:新时代营销的秘密武器,建设经营性网站怎么记账
seo诊断什么意思,seo诊断a5 ,约瑟夫ai
SEO深度解析:如何通过深度优化提升网站排名,带来流量和转化,咸宁网站建设大概费用
乘风SEO:突破困境,领航网络营销新时代,武汉靠谱的关键词排名
SEO网络营销:如何通过精准优化提升品牌价值,青州建设网站电话
SEO优化快:如何在短时间内实现网站流量爆发,Lacey0508ai
OpenPose大白话解释:让你轻松理解姿态识别的神奇技术,ai天天晴
SEO优化10种策略:提升网站排名的有效方法,帅气ai男头白底
什么是seo技术,什么是seo及seo的作用 ,AI倒放仓鼠
SEO利用:让你的网站快速登顶,获取更多流量与客户!,延边小程序推广平台网站
seo软件是什么职位,seo用的是什么软件 ,ai感知树
ChatGPT回答是空白的背后,究竟隐藏着什么秘密?,如何用ai写作来赚钱
WPQQ-开启数字时代的智能连接新纪元,杭州网站推广厂家电话
ChatGPT5.0为什么一直没出来?背后的技术与战略,元宵节ai趣赏月
ChatGPT的诞生,预示着人工智能大规模应用的时代已经来临,ai此生不渝
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置
文章去AI回归创作的本真之美
seo网站需要做什么,seo都需要做什么 ,ai怎么做喷漆效果
AI免费生成:释放创造力的秘密武器
pbootcms自动翻译插件,让你的网站轻松实现多语言覆盖,ai 镀金
在线AI文章:为您打造全新内容创作体验
如何用AI改文章,让写作更高效、精准,提升内容质量
AI免费工具:提升效率与创意的秘密武器
从语言助手到智能生活伙伴,未来的智能助手如何改变我们的生活,网站建设分站公司
交友群都有哪些,交友群是干什么的 ,ai猫csgo
SEO更多-让你的企业站点在搜索引擎中脱颖而出,如何结交seo大神
主流seo是什么,seo是什么推广网站 ,AI心理师
AI.生成重新定义创造力的新纪元
seo网站反链是什么,网站反链怎么做 ,ai插画头像卡通
ChatGPT当前不可用?如何应对AI服务中断的挑战,ai文章免费写作app
ChatGPT模型进化历程:人工智能的智慧革命,ai 喷枪星空
SEO需要:如何提升网站排名,打造高效营销利器,seo怎么推广关键词