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

 更新时间:2021年07月21日 10:32:14   作者:Holidaylovesam  
这篇文章主要介绍了python实现图像处理之PiL依赖库的案例应用详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

Python实现图像处理:PiL依赖库的应用

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

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

实现思路:

  1. 使用PIL的Image.open导入图片。
  2. 获取图片的大小。
  3. 调用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将一个图片放大缩小

实现思路:

  1. 使用PIL,即Python图像标准依赖库。
  2. 使用open打开本地图片。
  3. 使用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将一个图片实现模糊

实现思路:

  1. 使用PIL,即Python图像标准依赖库。
  2. 使用open打开本地图片。
  3. 使用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获取一个图片的元素坐标

实现思路:

  1. 使用PIL,即Python图像标准依赖库。
  2. 使用open打开本地图片。
  3. 使用imshow显示图像
  4. 获取图片上点击光标,输出坐标
#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依赖库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • OpenCV-Python 实现两张图片自动拼接成全景图

    OpenCV-Python 实现两张图片自动拼接成全景图

    图片的全景拼接如今已不再稀奇,现在的智能摄像机和手机摄像头基本都带有图片自动全景拼接的功能,本文使用OpenCV-Python 实现两张图片自动拼接成全景图,感兴趣的可以了解一下
    2021-06-06
  • OpenCV-Python实现轮廓的特征值

    OpenCV-Python实现轮廓的特征值

    轮廓自身的一些属性特征及轮廓所包围对象的特征对于描述图像具有重要意义。本篇博文将介绍几个轮廓自身的属性特征及轮廓包围对象的特征,感兴趣的可以了解一下
    2021-06-06
  • Python中表达式x += y和x = x+y 的区别详解

    Python中表达式x += y和x = x+y 的区别详解

    这篇文章主要跟大家介绍了关于Python中x += y和x = x+y 的区别的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Python+OpenCV数字图像处理之ROI区域的提取

    Python+OpenCV数字图像处理之ROI区域的提取

    ROI区域又叫感兴趣区域。在机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI。本文主要为大家介绍如何通过Python+OpenCV提取ROI区域,需要的朋友可以了解一下
    2021-12-12
  • 25个值得收藏的Python文本处理案例

    25个值得收藏的Python文本处理案例

    这篇文章主要给大家分享的是25个值得收藏的Python文本处理案例。Python 处理文本是一项非常常见的功能,本文整理了多种文本提取及NLP相关的案例,还是非常有收藏价值的,文章很长,可以收藏起来,总会用到的
    2022-02-02
  • 解决安装python库时windows error5 报错的问题

    解决安装python库时windows error5 报错的问题

    今天小编就为大家分享一篇解决安装python库时windows error5 报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python实现arctan换算角度的示例

    Python实现arctan换算角度的示例

    本文主要介绍了Python实现arctan换算角度的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 在Python中使用MongoEngine操作数据库教程实例

    在Python中使用MongoEngine操作数据库教程实例

    这篇文章主要介绍了在Python中使用MongoEngine操作数据库教程实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python 可爱的大小写

    Python 可爱的大小写

    和其他语言一样,Python为string对象提供了转换大小写的方法:upper() 和 lower()。还不止这些,Python还为我们提供了首字母大写,其余小写的capitalize()方法,以及所有单词首字母大写,其余小写的title()方法。
    2008-09-09
  • Python中的分布式框架Ray的安装与使用教程

    Python中的分布式框架Ray的安装与使用教程

    Ray框架下不仅可以通过conda和Python十分方便的构建一个集群,还可以自动的对分布式任务进行并发处理,且支持GPU分布式任务的提交,本文介绍了基于Python的分布式框架Ray的基本安装与使用,感兴趣的朋友一起看看吧
    2024-08-08

最新评论