摘要:是因为格式是非失真性压缩的,允许使用类似于格式的调色板技术,支持真彩色图像,并具备阿尔法通道半透明等特性。而格式没有阿尔法通道,因此格式图片不能为透明,格式可以。
PIL,全称Python Image Library,主要作用是图像处理,可用于图片剪切、粘贴、缩放、镜像、水印、颜色块、滤镜、图像格式转换、色场空间转换、验证码、旋转图像、图像增强、直方图处理、插值和滤波等功能。不过只支持到Python 2.7。Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库。我们需要安装的就是Pillow。
PIL具体用途:
pip install Pillow
貌似Pillow是默认安装好了的,可以通过pip list
查看是否已经安装
以下是打开图片保存图片的基本操作。
from PIL import Image# 1.打开图片img = Image.open("image/10.png")# 2.显示图片(执行显示图片后线程会中断,关闭图像后恢复)img.show()# 3.保存图片img.save("image/xiaomai.png")
我在尝试的过程中发现,png格式的图片保存为jpg格式时会报错:OSError: cannot write mode RGBA as JPEG
,经过查阅资料发现错误原因主要是因为PNG格式和JPG格式图片的通道数不同。
所以,PNG格式图片要保存成JPG格式就要丢弃A通道:
from PIL import Image# 1.打开图片img = Image.open("image/10.png")# 2.显示图片(执行显示图片后线程会中断,关闭图像后恢复)img.show()# 3.保存图片img = img.convert("RGB")img.save("image/xiaomai.jpg")
下面是图片旋转的代码:
from PIL import Image# 1.打开图片img = Image.open("pli/7.png")# 2.水平翻转img1 = img.transpose(Image.FLIP_LEFT_RIGHT)# 3.保存图片img1.save("pli/1.png")# 4.垂直翻转img2 = img.rotate(180)# 5.保存照片img2.save("pli/2.png")# 6.水平+垂直翻转img3 = img.transpose(Image.FLIP_LEFT_RIGHT).rotate(180)# 7.保存图片img3.save("pli/3.png")
要在图像上绘制文本要用到 PIL 的两个模块:ImageDraw和ImageFont。 ImageDraw 用于创建绘图对象,ImageFont用于加载字体。
from PIL import Image, ImageDraw, ImageFont# 1.打开图片img = Image.open("image/10.png")# 2.调用画图模块draw = ImageDraw.Draw(img)# 3.设置字体tfont = ImageFont.truetype("萌神手写体.ttf", 24)# 4.添加文字""" 参数一:文字在图片的位置:(x, y) 参数二:文字内容 参数三:字体颜色,当然颜色也可以用RGB值指定 参数四:字体类型"""draw.text((50, 30), "eyes++", fill="green", font=tfont)# 5.保存图片img.save("image/addWord.png")# 6.显示图片img.show()
from PIL import Image, ImageFilterimg = Image.open("image/10.png")img = img.filter(ImageFilter.CONTOUR)img.save("image/Filter.png")img.show()
滤镜类型如下:
from PIL import Imageimg = Image.open("image/10.png")img = img.transpose(Image.FLIP_LEFT_RIGHT)img.save("image/mirror.png")
transpose有这么几种模式
最后一种模式我也不知道什么意思,也没查到,但效果是下面这样的,盲猜是对角线对转。。。。。
除了使用transpose制造镜像,使用rotate也可以的,不过rotate只能旋转:
发现这样旋转会有棱角,然后经过某位不愿透露姓名的大佬指点,发现是rotate旋转只是像素旋转,画布不动,于是我写下了以下测试代码:
from PIL import Imageimg = Image.open("image/12.jpg")img1 = img.transpose(Image.ROTATE_90)img1.save("image/test.jpg")img2 = img.rotate(90)img2.save("image/test2.jpg")
可以发现小埋的rotate旋转不会自动填充空白像素,而血小板的会自动黑色填充。是因为png格式是非失真性压缩的,允许使用类似于GIF格式的调色板技术,支持真彩色图像,并具备阿尔法通道(半透明)等特性。而jpg格式没有阿尔法通道,因此jpg格式图片不能为透明,png格式可以。
虽说是拼接,但更像是将两幅图粘贴到一个新的画布上
from PIL import Image, ImageDraw# 打开图片img1 = Image.open("image/10.png")img2 = Image.open("image/addWord.png")# 查看图片尺寸,便于拼接图片print(img1.size)print(img1.size)# 新建空白图片,三个参数分别是模式(RGB/RGBA)、大小、颜色newimg = Image.new(mode="RGB", size=(1174, 614), color=(255, 100, 50))# 拼接图片,第一个参数是图片,第二个是起始位置newimg.paste(img1, (0, 0))newimg.paste(img2, (587, 0))newimg.show()
图片裁剪用到的方法是image.crop(),这个方法能从图像中提取出某个矩形大小的图像。它接收一个四元素的元组作为参数,各元素为(left, upper, right, lower),坐标系统的原点(0, 0)是左上角。
from PIL import Imageimg = Image.open("image/10.png")print(img.size)imgCut = img.crop((100, 200, 500, 600))imgCut.show()
在这里插入代码片
可能这么看不是二分之一,但这是显示问题,可以看数据:
from PIL import Image# :img = Image.open("image/10.png")# 获得图像尺寸:w, h = img.size# 缩放到50%:img.thumbnail((w//2, h//2))# 把缩放后的图像用jpeg格式保存:img.save("image/zoom.png")
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/122533.html
摘要:骚操作用来图给大家带来一篇关于的文章,全称是,顾名思义,是用来做图像处理的。支持众多的框架接口,可以用于图像展示。这个可以用来实现图像的自动对比度增强,还有全局的统计分析等。 Python骚操作 | 用Python来P图 给大家带来一篇关于PIL的文章,PIL全称是Python Image Library,顾名思义,是用来做图像处理的。用这个库,可以实现很多PS里的效果,比如像图片模糊...
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。 本篇重点介绍Python处理图像的标准库PIL库,处理图像真的的很方便。 干货满满,建议收藏,需要用到时常看看。 小伙伴们如有问题及需要,欢迎踊跃留言哦~ ~ ~。 文章目录 前言安装Pillow 以及版本兼容常用模块介绍ImageImageColorImageFontImageDraw 再来点干货吧!合并美女照片 总结参考源码地址...
摘要:忙着忙着老大说要生成海报,有个活动要给每个用户来个分享图。虽然我实现了写个页面调用之前生成长截图的服务。使用这段时间以来就是感觉这个编码格式极其难受。网上查也不少前端技术处理我堂堂前端,怎么也得露一手吧。前端处理需要注意跨域空格等问题。 我最近没有摸鱼,一直都在工作。只不过目前需要爬一点数据 python 做的,之后看机会分享一下。 忙着忙着老大说要生成海报,有个活动要给每个用户来个分...
摘要:忙着忙着老大说要生成海报,有个活动要给每个用户来个分享图。虽然我实现了写个页面调用之前生成长截图的服务。使用这段时间以来就是感觉这个编码格式极其难受。网上查也不少前端技术处理我堂堂前端,怎么也得露一手吧。前端处理需要注意跨域空格等问题。 我最近没有摸鱼,一直都在工作。只不过目前需要爬一点数据 python 做的,之后看机会分享一下。 忙着忙着老大说要生成海报,有个活动要给每个用户来个分...
摘要:之成为图像处理任务的最佳选择,是因为这一科学编程语言日益普及,并且其自身免费提供许多最先进的图像处理工具。该库包含基本的图像处理功能,包括点操作使用一组内置卷积内核进行过滤以及颜色空间转换。图像处理系统有时被称为图像处理的瑞士军刀。 showImg(https://segmentfault.com/img/remote/1460000019442221);编译:张秋玥、小七、蒋宝尚 本...
阅读 2518·2021-11-25 09:43
阅读 1904·2021-11-18 13:25
阅读 1900·2021-11-15 11:38
阅读 3322·2021-10-14 09:43
阅读 1933·2021-10-14 09:42
阅读 3730·2021-09-22 15:52
阅读 1522·2021-09-22 15:49
阅读 1999·2019-08-30 15:54