小朋友们好,大朋友们好!
我是猫妹,一名爱上Python编程的小学生。
今日主题
今天我们学习下如何用Python处理图像。
咱们今天用到的库是什么呢?
就是大名鼎鼎的Pillow。
Pillow是第三方库,需要使用pip安装(pip install pillow)。
它简单易用,功能强大。
入门常识
颜色值
谈到图像,离不开色彩,Python中颜色怎么表示呢?
Python中,一般使用RGB或RGBA来表示。
RGB是一种色彩标准,用Red、Green、Blue这三原色来得到各种颜色。
RGBA在RGB的基础上增加了不透明度A(Alpha)。
Python中使用元组来表示色彩,比如(R,G,B)或(R,G,B,A)。
前者是RGB,后者是RGBA。
取值范围都是0~255,A=0表示完全透明,A=255表示完全不透明。
常用颜色的英文名和对应的RGB如下:
while:(255,255,255)
black:(0,0,0)
red:(255,0,0)
green:(0,128,0)
blue:(0,0,255)
yellow:(255,255,0)
gray:(128,128,128)
purple:(128,0,128)
像素
像素指的是图像构成的基本单位,也就是一个点。
一张图像是由很多个小方块组成,其中每个小方块就是一个像素。
比如,我们平时说的显示器分辨率是800像素*600像素,就是屏幕由宽度800和高度600个小方块。
坐标系
要在屏幕上定位一个像素的位置,需要使用到坐标系。
我们经常见到的坐标系是数学坐标系,不过Pillow使用的是图像坐标系。
两者的唯一区别是y轴的正方向。
数学坐标系一般用于数学上,Python中大多数使用的都是图像坐标系。
图片操作
打开图片
from PIL import Image
img=Image.open("file path")
我们首先导入Pillow库,然后打开一个图像文件,返回值是一个Image对象。
我们可以用Image对象的属性和方法来对图片进行操作。
属性如下
filename:图片名称
format:图片格式
size:图片大小,单位为字节
方法如下
show():显示图片
save():报错图片
resize():改变图片大小
crop():切割图片
rotate():旋转图片
transpose():翻转图片
copy():复制图片
paste():粘贴图片
我们赶快简单测试下吧!
图像处理
获取图片信息:
显示图片:
保存图片:
改变大小:
切割图片:
旋转图片:
翻转图片:
复制copy和粘贴paste图片:
创建区域:
语法为:Image.new("RGB",(x,y),color)
第一个参数为颜色模式,可设置为RGB或RGBA
第二个参数元组,x表示宽度,y表示高度
第三个参数颜色值或颜色透明度值
返回对象是一个Image对象,Image.open()和Image.new()这个两个方法都会返回一个Image对象。
绘制图形
Pillow中的ImageDraw模块可以绘制各种图形。
通过ImageDraw模块的Draw()方法创建一个Draw()对象,然后根据它来绘制各种图形。
直线:
矩形:
还可以绘制多边形、圆弧、扇形、圆、椭圆等。
这里猫妹就不贴图了,都是类似的。
绘制文本
Pillow中的ImageDraw模块可以绘制文本。
可以参考咱们之前这篇文章哦!
最后我们再介绍下ImageFront.truetype(url,size)
url:表示字体文件所在路径,其扩展名通常为ttf。
size:表示字体大小的点数(非像素),这个点数是一个整数。
Pillow库创建的PNG图片默认每英寸(1英寸约定于2.54厘米)72像素,那么1点就是1/72像素。
注意到上面的ImageFilter,可以对图片进行美化,它有各种滤镜效果。
ImageFilter.属性
ImageFilter.方法名()
好了,我们今天就学到这里吧!
我是猫妹,咱们下次见!
领取专属 10元无门槛券
私享最新 技术干货