python之pil的使用 |
您所在的位置:网站首页 › python中怎么安装pil › python之pil的使用 |
一:PIL功能介绍与安装
PIL,全称Python Image Library,主要作用是图像处理,可用于图片剪切、粘贴、缩放、镜像、水印、颜色块、滤镜、图像格式转换、色场空间转换、验证码、旋转图像、图像增强、直方图处理、插值和滤波等功能。不过只支持到Python 2.7。Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库。我们需要安装的就是Pillow。 PIL具体用途: 图像归档(Image Archives)。PIL非常适合于图像归档以及图像的批处理任务。你可以使用PIL创建缩略图,转换图像格式,打印图像等等。图像展示(Image Display)。PIL较新的版本支持包括Tk PhotoImage,BitmapImage还有Windows DIB等接口。PIL支持众多的GUI框架接口,可以用于图像展示。图像处理(Image Processing)。PIL包括了基础的图像处理函数,包括对点的处理,使用众多的卷积核(convolution kernels)做过滤(filter),还有颜色空间的转换。PIL库同样支持图像的大小转换,图像旋转,以及任意的仿射变换。PIL还有一些直方图的方法,允许你展示图像的一些统计特性。这个可以用来实现图像的自动对比度增强,还有全局的统计分析等。 pip install Pillow貌似Pillow是默认安装好了的,可以通过pip list查看是否已经安装 二:PIL的基本操作以下是打开图片保存图片的基本操作。 from PIL import Image # 1.打开图片 img = Image.open("image/10.png") # 2.显示图片(执行显示图片后线程会中断,关闭图像后恢复) img.show() # 3.保存图片 img.save("image/xiaomai.png")
所以,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")
要在图像上绘制文本要用到 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, 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 Image img = 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')
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |