python实现图像处理之PiL依赖库的案例应用详解
作者:Holidaylovesam 发布时间:2023-04-06 09:08:04
标签:python,图像处理,PiL依赖库
Python实现图像处理:PiL依赖库的应用
本文包含的练习题主要是PIL依赖库,即pillow相关的应用。
练习一:使用python给图片增加数字
实现思路:
使用PIL的Image.open导入图片。
获取图片的大小。
调用ImageDraw,在图片的指定位置写上数字。
#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')
#保存添加了数字之后的图片
实现前:
实现后:
修改其中两行代码字体和颜色如下后,
color = (105,200,45)
font = ImageFont.truetype('Palatino.ttc',fontsize)
则运行的结果为:
练习二:使用python将一个图片放大缩小
实现思路:
使用PIL,即Python图像标准依赖库。
使用open打开本地图片。
使用image.thumbnail放大缩小图片
#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格式保存:
等同于代码:
#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图像标准依赖库。
使用open打开本地图片。
使用image.thumbnail放大缩小图片
#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图像标准依赖库。
使用open打开本地图片。
使用imshow显示图像
获取图片上点击光标,输出坐标
#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()
来源:https://blog.csdn.net/alice_tl/article/details/80866728


猜你喜欢
- 通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。以下为与Runtime
- 本文实例讲述了Python基于csv模块实现读取与写入csv数据的方法。分享给大家供大家参考,具体如下:通过csv模块可以轻松读取格式为cs
- 我就废话不多说了,大家还是直接看代码吧~注释讲解版:# Classifier exampleimport numpy as np# for
- 引入在通过scrapy框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy对其url发请求,是绝对
- tensorFlow中主要包括了三种不同的并行策略,其分别是数据并行、模型并行、模型计算流水线并行,具体参考Tenssorflow白皮书,在
- 一组有序项目的集合可变的数据类型【可进行增删改查】列表中可以包含任何数据类型,也可包含另一个列表【可任意组合嵌套】列表是以方括号“[]”包围
- 1、demo第一个代码是多线程的简单使用,编写了线程如何执行函数和类。import threadingimport timeclass Cl
- 本文实例讲述了Python3中正则模块re.compile、re.match及re.search函数用法。分享给大家供大家参考,具体如下:r
- 本文实例讲述了Python3.5迭代器与生成器用法。分享给大家供大家参考,具体如下:1、列表生成式通过列表生成式可以直接创建一个列表。代码:
- Python3异步asyncio问题官方文档:https://docs.python.org/zh-cn/3/library/asyncio
- 如下所示:def test1(): try: print('to do stuff')  
- 这篇文章主要介绍了Python 切分数组实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以
- 问题你的程序崩溃后该怎样去调试它?解决方案如果你的程序因为某个异常而崩溃,运行 python3 -i someprogram.py 可执行简
- 一. 图片懒加载的目的大型网站如常用的淘宝,京东等页面,需要展示大量的商品图片信息,如果打开网页时让所有图片一次性加载完成,需要处理很多次网
- 1.展开服务器对象-->链接服务器-->右击"新建链接服务器"注意:必须以数据库管理员身份登录(通常也就是s
- 本文实例为大家分享了Python tkinter实现计算器功能的具体代码,供大家参考,具体内容如下python版本:3.5一.计算器的功能描
- 枚举类Enum枚举类,在企业开发中用的比较多当我们需要定义常量时,一个办法是用大写的变量通过整数来定义,例如月份:# 当项目中需要使用12个
- 本文介绍了Python小波分析库Pywavelets,分享给大家,具体如下:# -*- coding: utf-8 -*- import n
- 下面列出Python正则表达式的几种匹配用法,具体内容如下所示:此外,关于正则的一切http://deerchao.net/tutorial
- 使用Python可视化Pygal包来生成可缩放的矢量图形文件!对于在尺寸不同的屏幕上显示图标,它们将自动缩放以适合观看者的屏幕,如果以在线的