Python图片处理入门

图片处理,可以简单地定义为利用计算机算法(通过代码)对图片进行分析、操作的处理。它包括如下不同的几个方面:图像的打开、展示和编辑等。

打开、展示图片

导入image类

From PIL import Image

处理图片时,首先需要导入Pillow库中的Image类。

打开图片

变量 = Image.open(‘图片名’)

展示图片

变量.show()

py

From PIL import Image
im = Image.open('图片.png')
im.show()

新建、保存图片

新建背景图

变量 = Image.new(图片模式, 图片大小, 图片背景颜色)

图片模式: 固定填写’RGB’模式。
图片大小: 元组类型,元组中是图片的宽和高。 图片背景颜色: 元组类型,元组中的3个数字,分 别表示R、G、B的值,取值范围都是0到255之间 的整数。

保存图片

变量名.save(‘图片名’)

如果图片名已经存在,保存后会覆盖原图片。

py

From PIL import Image
bg = Image.new('RGB', (200,100), (0,0,0))
bg.show()
bg.save('背景图.png')

图片处理常用命令

粘贴图片

变量1.paste(变量2, 位置坐标)

位置坐标: 元组类型,表示被粘贴图片左上角的位置,即变量2中存储的图片的左上角位置。

py

From PIL import Image
bg = Image.open('背景图.png')
im = Image.open('图片.png')
bg.paste(im, (0,100))               //将 图片.png 粘贴到 背景图.png 中(0, 100)的位置

缩放图片

变量名.resize(图片大小)

缩放图片,调整图片的大小。
图片大小:元组类型,表示缩放后图片的宽和高。

py

From PIL import Image
p = Image.open('图片1.png')
p = p.resize((300,200))           //将 图片1.png 缩放成 宽300, 高200
bg.show()
bg.save('图片2.png')               //将缩放后图片,保存为 图片2.png

裁剪图片

变量名.crop(裁剪区域)

裁剪图片,得到图像的部分区域。
裁剪区域:元组类型,表示裁剪时的起始点与终止点坐标。

裁剪下图框选区域,裁剪的起始点坐标为(200, 100),裁剪的终止点坐标为(300, 300),因此crop()命令中的参数为(200,100, 300, 300)。

py

From PIL import Image
p = Image.open('图片1.png')
p = p.crop((200,100,300,300))

旋转图片

变量名.rotate(旋转角度)

将图片逆时针旋转。
旋转角度:表示逆时针旋转的角度。

py

From PIL import Image
im = Image.open('图片.png')
im = im.rotate(270)             //将 图片.png 逆时针旋转270度

镜像翻转图片

变量名. transpose(参数)

参数填写 0,表示左右镜像翻转; 参数填写 1,表示上下镜像翻转。

py

From PIL import Image
im = Image.open('图片.png')
im = im.transpose(0)             //将图片左右镜像翻转
im.show()
那年 • 今日
小王发布于2022-08-05 16:40
没有伞的孩子,必须学会努力奔跑。

赞助 点赞 0

cfalost, 老麦, UI柒, 威言威语, 常瑞等人对本文发表了10条热情洋溢的评论。
  • cfalost说道: LV.3
    能大概看懂一些,但就是记不住。 小王子真棒。
    1. 老王说道:
      回复 cfalost: 我感觉这个东西只有经常用才能记得住 😂
  • 老麦说道: LV.2
    我不会python,但我有点看明白你发的代码,
    1. 老王说道:
      回复 老麦: 我也是好像看的懂,但是一关上电脑又不知道了 ::wb:wl::
  • UI柒说道: LV.0
    很棒,两父子一起学👍
    1. 老王说道:
      回复 UI柒: 谢谢,主要还是小王子学!😊
  • 最近对Python研究挺多啊 ::wb:geili:: ,我对Python就不熟了。 ::wb:erha::
    1. 老王说道:
      回复 威言威语: 我是不懂,主要是小王子暑假上课在学这个 😀
  • 常瑞说道: LV.0
    学习学习 ::alu:biggrin::
    1. Kevin说道: LV.3
      回复 常瑞: 欢迎批评指教! ::wb:kaixin::
  • 发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注