广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python使用Pillow进行图像处理
  • 499
分享到

Python使用Pillow进行图像处理

2024-04-02 19:04:59 499人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

一、概述 PIL:python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但api却非常简单易用。 由于PIL仅支持到Pyt

一、概述

PIL:python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但api却非常简单易用。

由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。

Pillow在PIL的基础上,为python3增加了更多功能和支持。它支持一系列图像文件格式,如PNG,JPEG,PPM,GIF,TIFF和BMP。我们将看到如何在图像上执行各种操作,例如裁剪,调整大小,添加文本到图像,旋转,灰阶转换。

Ps:我喜欢OpenCV的速度与强大的图像处理功能,但是要在OpenCV中使用我们自己喜欢的字体似乎并不容易(预设的字体实在令人退避三舍)。

Pillow的GitHub主页:https://github.com/python-pillow/Pillow

Pillow的文档(对应版本v3.0.0): Https://pillow.readthedocs.org/en/latest/handbook/index.html

1. PIL/ Pillow

PIL( Python图像库 )是Python编程语言的一个免费库,它支持打开、操作和保存许多不同的文件格式的图像。然而, 随着2009年的最后一次发布,它的开发停滞不前。但幸运的是还有有Pillow,一个PIL积极开发的且更容易安装的分支,它能运行在所有主要的操作系统,并支持Python3。这个库包含了基本的图像处理功能,包括点运算、使用一组内置卷积核的滤波和色彩空间的转换。

资源

文档中有安装说明,以及涵盖库的每个模块的示例:

https://pillow.readthedocs.io/en/stable/releasenotes/3.1.1.html

2. OpenCV-Python

OpenCV( 开源计算机视觉库 )是计算机视觉应用中应用最广泛的库之一 。OpenCV-Python 是OpenCV的python版API。OpenCV-Python的优点不只有高效,这源于它的内部组成是用C/C++编写的,而且它还容易编写和部署(因为前端是用Python包装的)。这使得它成为执行计算密集型计算机视觉程序的一个很好的选择。
资源

OpenCV-Python-Guide指南可以让你使用OpenCV-Python更容易:

https://github.com/abidrahmank/OpenCV2-Python-Tutorials

3. SimpleCV

SimpleCV 也是一个用于构建计算机视觉应用程序的开源框架。有了它,你就可以访问几个高性能的计算机视觉库,如OpenCV,而且不需要先学习了解位深度、文件格式、颜色空间等。

它的学习曲线大大小于OpenCV,正如它们的口号所说“计算机视觉变得简单”。一些支持SimpleCV的观点有:

即使是初学者也可以编写简单的机器视觉测试
摄像机、视频文件、图像和视频流都是可互操作的

资源

官方文档非常容易理解,而且有大量的例子和使用案例去学习:

https://simplecv.readthedocs.io/en/latest/

安装Pillow

如果安装了Anaconda,Pillow就已经可用了。否则,需要在命令行下通过pip安装:

$ pip install pillow

如果遇到Permission denied安装失败,请加上sudo重试。

操作图像

来看看最常见的图像缩放操作,只需三四行代码:

from PIL import Image

# 打开一个jpg图像文件,注意是当前路径:
im = Image.open('test.jpg')
# 获得图像尺寸:
w, h = im.size
print('Original image size: %sx%s' % (w, h))
# 缩放到50%:
im.thumbnail((w//2, h//2))
print('Resize image to: %sx%s' % (w//2, h//2))
# 把缩放后的图像用jpeg格式保存:
im.save('thumbnail.jpg', 'jpeg')

其他功能如切片、旋转、滤镜、输出文字、调色板等一应俱全。

比如,模糊效果也只需几行代码:

from PIL import Image, ImageFilter

# 打开一个jpg图像文件,注意是当前路径:
im = Image.open('test.jpg')
# 应用模糊滤镜:
im2 = im.filter(ImageFilter.BLUR)
im2.save('blur.jpg', 'jpeg')

效果如下:

PIL的ImageDraw提供了一系列绘图方法,让我们可以直接绘图。比如要生成字母验证码图片:

from PIL import Image, ImageDraw, ImageFont, ImageFilter

import random

# 随机字母:
def rndChar():
    return chr(random.randint(65, 90))

# 随机颜色1:
def rndColor():
    return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

# 随机颜色2:
def rndColor2():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

# 240 x 60:
width = 60 * 4
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
# 创建Font对象:
font = ImageFont.truetype('Arial.ttf', 36)
# 创建Draw对象:
draw = ImageDraw.Draw(image)
# 填充每个像素:
for x in range(width):
    for y in range(height):
        draw.point((x, y), fill=rndColor())
# 输出文字:
for t in range(4):
    draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
# 模糊:
image = image.filter(ImageFilter.BLUR)
image.save('code.jpg', 'jpeg')

我们用随机颜色填充背景,再画上文字,最后对图像进行模糊,得到验证码图片如下:

如果运行的时候报错:

IOError: cannot open resource

这是因为PIL无法定位到字体文件的位置,可以根据操作系统提供绝对路径,比如:

'/Library/Fonts/Arial.ttf'

要详细了解PIL的强大功能,请请参考Pillow官方文档:

https://pillow.readthedocs.org/

到此这篇关于Python使用Pillow进行图像处理的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Python使用Pillow进行图像处理

本文链接: https://www.lsjlt.com/news/151218.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python使用Pillow进行图像处理
    一、概述 PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。 由于PIL仅支持到Pyt...
    99+
    2022-11-13
  • Python中Pillow库如何进行图像文件处理
    小编给大家分享一下Python中Pillow库如何进行图像文件处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、打开PyCharm,创建一个新的.py文件2、...
    99+
    2023-06-25
  • Python的Pillow库进行图像文件处理(图文详解)
    目录目标1、打开PyCharm,创建一个新的.py文件2、配置环境3、PIL库概述4、代码段本文详解的讲解了使用Pillow库进行图片的简单处理,使用PyCharm开发Python的...
    99+
    2022-11-12
  • Python 图像处理 Pillow 库详情
    前言: 图像处理是常用的技术,python 拥有丰富的第三方扩展库,Pillow 是 Python3 最常用的图像处理库,目前最高版本5.2.0。Python2 使用Pil库,两者是...
    99+
    2022-11-12
  • Python中图像处理Pillow库怎么用
    这篇文章主要介绍Python中图像处理Pillow库怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言:图像处理是常用的技术,python 拥有丰富的第三方扩展库,Pillow 是 Python3 最常用的图像...
    99+
    2023-06-25
  • python Pillow图像降噪处理颜色处理
    目录Pillow图像降噪处理模糊处理轮廓图边缘检测浮雕图Pillow图像颜色处理颜色命名Pillow图像降噪处理 由于成像设备、传输媒介等因素的影响,图像总会或多或少的存在一些不必要...
    99+
    2022-11-11
  • 怎么在python中利用pillow处理图像
    这篇文章将为大家详细讲解有关怎么在python中利用pillow处理图像,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python有哪些常用库python常用的库:1.requesuts;2...
    99+
    2023-06-14
  • python的Pillow图像处理方法怎么用
    本文小编为大家详细介绍“python的Pillow图像处理方法怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python的Pillow图像处理方法怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、安...
    99+
    2023-06-30
  • Pillow图像颜色处理的具体使用
    目录颜色命名getrgb()方法getcolor()示例——修改证件照背景色Pillow 提供了颜色处理模块 ImageColor,该模块支持不同格式的颜色,比如 RGB 格式的颜色...
    99+
    2022-11-12
  • Pillow图像颜色处理怎么用
    这篇文章将为大家详细讲解有关Pillow图像颜色处理怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Pillow 提供了颜色处理模块 ImageColor,该模块支持不同格式的颜色,比如 RGB 格式...
    99+
    2023-06-21
  • python 包之 Pillow 图像处理教程分享
    目录一、安装二、打开图片三、转换格式并保存四、创建缩略图五、获取图片属性六、图片信息七、调色板八、画板九、图片模式十、模式转换十一、矩阵模式转换十二、图片尺寸十三、通道分离十四、复制...
    99+
    2022-11-10
  • Python+Pillow进行图形处理的示例详解
    目录一、Pillow二、海龟绘图 一、Pillow PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大...
    99+
    2022-11-11
  • Python编程中使用Pillow来处理图像的基础教程
    安装 刚接触Pillow的朋友先来看一下Pillow的安装方法,在这里我们以Mac OS环境为例: (1)、使用 pip 安装 Python 库。pip 是 Python 的包管理工具,安装后就可以直接在命...
    99+
    2022-06-04
    基础教程 图像 Python
  • Python使用Pillow实现图像基本变化
    目录一、图像处理1. 灰度图像2. 二值图像3. 索引图像4. RGB彩色图像5. 图像存储方式二、图像处理基础操作1.查看图片属性2. 显示RGB不同通道3.PGB和HSV的转换三...
    99+
    2022-11-11
  • Python对图像进行灰度处理
    目录 1、解释说明: 2、使用示例: 3、注意事项: 1、解释说明: 在Python中,我们可以使用PIL(Python Imaging Library)库中的Image模块对图像进行灰度处理。灰度处理是将彩色图像转换为灰度图像的过程,即...
    99+
    2023-10-12
    python 人工智能 计算机视觉
  • python中 OpenCV和Pillow处理图像操作及时间对比
    目录引言OpenCV和Pillow的优缺点对比读写图像读图像写图像缩放图像旋转图像引言 最近再做图像处理相关的操作的时间优化,用到了OpenCV和Pillow两个库,两个库各有优缺点...
    99+
    2022-11-11
  • 怎么用Python和OpenCV进行图像处理
    这篇文章主要介绍“怎么用Python和OpenCV进行图像处理”,在日常操作中,相信很多人在怎么用Python和OpenCV进行图像处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python和Ope...
    99+
    2023-06-16
  • python中怎么使用Pillow做动态图在图中生成二维码及图像处理
    这篇文章主要讲解了“python中怎么使用Pillow做动态图在图中生成二维码及图像处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中怎么使用Pillow做动态图在图中生成二维...
    99+
    2023-06-29
  • 基于python使用Pillow做动态图在图中生成二维码以及图像处理
    目录1.什么是Pillow2.pillow图像处理的简单使用图片信息显示修改图片尺寸裁剪旋转图片为图片添加水印生成gif图片1.什么是Pillow 首先我们需要了解一下PIL(Pyt...
    99+
    2022-11-13
  • Python详细讲解图像处理的而两种库OpenCV和Pillow
    目录一、简介1.1 图像处理-OpenCV1.2 图像处理- PIL和Pillow二、常用图像类型2.1 二值图像2.2 灰度图像2.3 RGB图像2.4 常用颜色空间简介三、Ope...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作