PIL的常用操作

内容分享12小时前发布
0 0 0

(一)PIL(python image library)的基本概念

PIL中主要涉及几个概念:通道、模式、尺寸、坐标系统、调色板、信息和滤波器。

通道

第一我们要知道一张图片是怎么样的。图片是有三种颜色组成的也就是RGB三原色,一张图片可以变成红色,绿色,蓝色三张图片。这个也就是所谓的通道数。不过对于黑白或者灰度图像来说,就只有一个通道了。

模式

模式定义了图像的类型和像素的位宽。

PIL的常用操作

尺寸

可以通过size属性来获取图像的储存,这是一个二元组,也就是水平和垂直方向上的像素数量。

坐标系

PIL使用的是笛卡尔坐标系,和我们平时数学中的坐标系有一些不同。

PIL的常用操作

调色板

调色板模式(“P”)使用一个颜色调色板为每个像色定义具体的颜色值。

信息

使用info属性,可以为一张图片添加一些辅助信息。这是一个字典对象,加载和保存图片文件是,多少信息 需要处理取决于文件。

滤波器

对于多个输入的像素因设为一个输出像素的几何操作。

(二)代码

PIL的常用操作

import PIL.Image as image
import PIL.ImageDraw as draw
import PIL.ImageFont as imagefont
import PIL.ImageFilter as imgfilter

path = "./img/cat1.jpg"
img1 = image.open(path)
# img1.show() # 使用默认工具打开图片
print(img1.size) # (500, 400)
img2 = img1.resize((250,250)) # 重置大小
# img2.show()

img3 = img2.rotate(45,expand=True) #旋转图片
# img3.show()
img3.save("./cat.jpg")

img = draw.Draw(img1)
img.rectangle((0,0,500,400),outline="green",width=3) # 画矩形
img.line((0,0,500,400),fill="yellow",width=3)# 划线
img.point((250,200),fill="red")# 画点
font = imagefont.truetype("SIMYOU.TTF",size=40) # 引入字体 幼圆字体
img.arc((150,100,350,300),0,360,fill="white",width=3) # 画圆弧 前面可以框出一个圆,后面是圆弧的度数0-360
img.chord((150,100,350,300),0,180,fill="white",outline="green",width=3) # 画半圆
img.text((240,350),"猫",fill="blue",align="center",font=font) # 写字
# img1.show()

img4 = img1.convert("L") # 转换为灰度图
# img4.show()

# img5 = img1.filter(imgfilter.BLUR()) # 模糊
img5 = img1.filter(imgfilter.CONTOUR()) # 素描
img5.show()

输出结果:

PIL的常用操作

PIL的常用操作

PIL的常用操作

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...