python实现图像处理之PiL依赖库的案例应用详解

时间:2023-01-16 14:23:43

python实现图像处理:pil依赖库的应用

本文包含的练习题主要是pil依赖库,即pillow相关的应用。

练习一:使用python给图片增加数字

实现思路:

  1. 使用pil的image.open导入图片。
  2. 获取图片的大小。
  3. 调用imagedraw,在图片的指定位置写上数字。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#coding=utf-8
#auther by alice
#在图片的右上角增加一个数字
 
from pil import image,imagefont,imagedraw
image = image.open('/users/alice/documents/photo/img_8379.jpg')
#打开原图
 
wight, hight = image.size
text = "015"
color = (255,255,0)
fontsize = wight//10
font = imagefont.truetype('apple symbols',fontsize)
#设定增加的数字的参数,数字内容、数字颜色和数字字号
 
draw = imagedraw.draw(image)
draw.text((fontsize*6,0), text, color, font)
image.save('/users/alice/documents/photo/img_7997.jpg', 'jpeg')
#保存添加了数字之后的图片

实现前:

python实现图像处理之PiL依赖库的案例应用详解

实现后:

python实现图像处理之PiL依赖库的案例应用详解

修改其中两行代码字体和颜色如下后,

?
1
2
color = (105,200,45)
font = imagefont.truetype('palatino.ttc',fontsize)

则运行的结果为:

python实现图像处理之PiL依赖库的案例应用详解

练习二:使用python将一个图片放大缩小

实现思路:

  1. 使用pil,即python图像标准依赖库。
  2. 使用open打开本地图片。
  3. 使用image.thumbnail放大缩小图片
?
1
2
3
4
5
6
7
8
9
10
11
12
13
#coding by alice
#coding=utf-8
 
from pil import image
 
im = image.open('/users/alice/documents/develop/pythoncode/test.jpg')
# 打开一个路径下的指定jpg图像文件
w,h = im.size
# 获得图像尺寸
im.thumbnail((w//10, h//10))
# 缩放到10%
im.save('/users/alice/documents/develop/pythoncode/test2.jpg', 'jpeg')
# 把缩放后的图像用jpeg格式保存:

等同于代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#coding by alice
#coding=utf-8
 
from pil import image
 
image = image.open('/users/alice/documents/develop/pythoncode/test.jpg')
# 打开一个路径下的指定jpg图像文件
wight,hight = image.size
# 获得图像尺寸
image.thumbnail((weight//10, high//10))
# 缩放到10%
image.save('/users/alice/documents/develop/pythoncode/test2.jpg', 'jpeg')
# 把缩放后的图像用jpg格式保存:

运行后的效果为:

python实现图像处理之PiL依赖库的案例应用详解

练习三:使用python将一个图片实现模糊

实现思路:

  1. 使用pil,即python图像标准依赖库。
  2. 使用open打开本地图片。
  3. 使用image.thumbnail放大缩小图片
?
1
2
3
4
5
6
7
8
9
10
11
12
#coding by alice
#coding=utf-8
 
from pil import image
from pil import imagefilter
 
image = image.open('/users/alice/documents/develop/pythoncode/test.jpg')
# 打开一个路径下的jpg图像文件
image = image.filter(imagefilter.blur)
# 应用模糊滤镜
image.save('/users/alice/documents/develop/pythoncode/test3.jpg', 'jpeg')
#保存图片

运行后的结果为

python实现图像处理之PiL依赖库的案例应用详解

如果是静物或者人脸,放大后看则模糊效果会更明显。

python实现图像处理之PiL依赖库的案例应用详解

练习四:使用python获取一个图片的元素坐标

实现思路:

  1. 使用pil,即python图像标准依赖库。
  2. 使用open打开本地图片。
  3. 使用imshow显示图像
  4. 获取图片上点击光标,输出坐标
?
1
2
3
4
5
6
7
8
9
10
11
12
#coding by alice
#coding=utf-8
 
from pil import image
import matplotlib.pyplot as plt
 
image = image.open('/users/alice/documents/develop/pythoncode/test.jpg')
#打开所在位置及图像的名称
plt.figure('image')
#图像窗口名称
plt.imshow(image)
plt.show()

python实现图像处理之PiL依赖库的案例应用详解

到此这篇关于python实现图像处理之pil依赖库的案例应用详解的文章就介绍到这了,更多相关python实现图像处理之pil依赖库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/alice_tl/article/details/80866728