阅读文本大概需要 2.6 分钟。

在Pyhton图像库「Python Imaging Library」支持大量的图片格式,是图像处理和批处理的最佳选择,可以用这个来创建缩略图、文件格式之间的转换、打印图片、大小转换、颜色转换、还有对图片加滤镜「模糊、磨皮」等操作。功能非常简单,但是API调用非常简单

安装

安装的仍然使用pip安装,非常简单快捷。对于国内用户来说,不能访问python官网的时候,可以替换python源为阿里源或者其他国内源;其二对于其他的内网用户来说,可以在安装的时候加上代理地址。

$ pip install Pillow # python2$ pip3 install Pillow # python3 如果没有添加pip3软连接,用python3的pip一样的$ pip install Pillow --proxy=10.10.10.10:80 # 代理

验证是否安装成功,没有报错就是安装成功了。

>>> import PIL>>> dir(PIL)['PILLOW_VERSION', 'VERSION', '__builtins__', '__cached__', '__doc__.......

访问文件

用open()方法打开指定文件即可,可以看到文件的一些详细参数,比如大小、高度、长度、格式、模式等。

from PIL import Imagetry: im= Image.open("1.png") print(im.format, im.size, im.mode)except Exception as e: print(e)# output: PNG (736, 458) RGB

加载图像

获取到Image实例之后,可以用这个类的方法来处理和操作图像。这个是把图片保存位临时文件,然后用系统默认的图片查看工具来显示图片的,方便调试和测试。也可以用save()方法来保存文件。

>>> im.show()>>> im.save("test.png") # 保持到指定文件

读写图像

对图像的几何变换、颜色变换、图像增强、以及剪切等操作。

图像过滤器

图像增强处理里面有个,包含了一个过滤器「ImageFilter」模块,可以模糊图片等操作,下面是一个模糊操作的Demo。

# Import the modulesfrom PIL import Image, ImageFiltertry: # Load an image from the hard drive original = Image.open("1.png") # Blur the image blurred = original.filter(ImageFilter.BLUR) # Display both images original.show() blurred.show() # save the new image blurred.save("blurred.png")except: print "Unable to load image"

效果如下:

除了BLUR,还有其他的参数。

BLURCONTOURDETAILEDGE_ENHANCEEDGE_ENHANCE_MOREEMBOSSFIND_EDGESSMOOTHSMOOTH_MORESHARPEN

创建缩略图

也是同样使用实例的thumbnail方法即可,非常简单。

from PIL import Imagesize = (128, 128)thumbnail= "thumbnail.jpeg"try: im = Image.open("1.png")except Exception as e: print(e)im.thumbnail(size)im.save(thumbnail)

应用效果如下:

剪切、粘贴

剪切使用crop()方法即可,指定 2 个坐标,需要说明的是左上角是(0 ,0);

box = (10, 10, 200, 200) # 对应: 左 上 右 下region = im.crop(box) # 剪切region = region.transpose(Image.ROTATE_180)im.paste(region, box) # 粘贴

小结

Python 图像处理「PIL」对图像处理非常容易,加上完善的API文档手册,对于新手也是非常友好的,Python处理图像就用「PIL」。

如果对本文感兴趣,可以关注公众号「叉叉敌」了解更多。


python 图像处理_Python常用库-Pillow图像处理相关推荐

  1. python著作_Python 常用库和著作介绍 ---全能与潮流

    2017年最新IEEE世界编程语言排行榜公布,Python高居榜首. 在此之前,Python被广泛应用在web开发.系统运维.数据爬虫.数据分析和游戏服务器开发等,随着人工智能的浪潮,Python以其 ...

  2. Python 之 使用 PIL 库做图像处理

    http://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.html Python 之 使用 PIL 库做图像处理 1. 简介. 图像 ...

  3. Python爬虫环境常用库安装

    Python爬虫环境常用库安装 1:urllib urllib.request 这两个库是python自带的库,不需要重新安装,在python中输入如下代码: import urllib import ...

  4. python图像库_Python常用图像处理库整理

    1. 库简介 深度学习领域,对视频图片样本的处理占了很大一部分比重. 而Python环境下的图像处理库种类较多,无论是精度,速度等方面都有不同的差异,这里予以总结. Python环境下,相关的包有: ...

  5. Python中最常用十大图像处理库详细介绍

    本文主要介绍了一些简单易懂最常用的Python图像处理库 当今世界充满了各种数据,而图像是其中高的重要组成部分.然而,若想其有所应用,我们需要对这些图像进行处理.图像处理是分析和操纵数字图像的过程,旨 ...

  6. python常用类库_Python常用库

    Python常用库 一.time:时间处理模块 import time 1.time.time() time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数). import tim ...

  7. python超级计算机_Python高性能计算库——Numba

    摘要:在计算能力为王的时代,具有高性能计算的库正在被广泛大家应用于处理大数据.例如:Numpy,本文介绍了一个新的Python库--Numba, 在计算性能方面,它比Numpy表现的更好. 最近我在观 ...

  8. Python水文模型常用库介绍

    Python 特别用作现有程序的粘合剂,无论是用 C 还是 FORTRAN 编写的.对于想要开始使用 Python 的人(对于水文学家),我建议看一下本篇博客介绍的资源. (1) 常用库介绍 CFM ...

  9. python爬虫的常用库

    1.requests 这个库是爬虫最常用的一个库. 2.Selenium Selenium 这是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击.下拉等操作 对于一些用JS做谊染的页 ...

最新文章

  1. 演练:有效减法设计,才能开放加法
  2. windows10系统下MongoDB的安装及环境配置
  3. markdown 流程图_Markdown 进阶技能:用代码画流程图(编程零基础也适用)
  4. java集合框架的实现
  5. linux扫盲之CPU模式
  6. asp.net的一些对话
  7. 【题解】(排序) —— POJ 0810:距离排序
  8. SWFUpload下载地址
  9. xshell xftp 工具免费版本免费下载
  10. 错误码应该如何设计?
  11. 【CSS 基础教程】
  12. Android安装apk报错 问题记录
  13. Oracle存储过程实现X日均线计算
  14. SAP PS 第八节 PS 常见问题处理-来源于SAP EPPM分享
  15. 结构体中元素引用—— “.“ 与 “->“
  16. 用turtle画美国队长盾牌
  17. 基恩士KV7500,基恩士触摸屏,搭载KV-SH04PL四轴运动控制模块,KV-C32XDT.
  18. python怎么做图表好看_如何制作有趣好看的数据可视化图表?
  19. Predis\ClientException: Command ‘ZPOPMAX‘ is not a registered Redis command
  20. 测试(生命周期阶段)

热门文章

  1. 小计C/C++问题(1)
  2. 结对项目开发之电梯调度问题
  3. 案例:演示out对象的使用及原理分析
  4. 10-10-定时邮件发送
  5. 修改百度搜索结果的标题
  6. 服务器物理内存只增不降,服务器内存不断增加
  7. 运行gulp_Gulp的基本使用
  8. java script eval_java ScriptEngine 使用 (支持JavaScript脚本,eval()函数等)
  9. plc有与计算机的通讯请求时,OMRON PLC网络Ethernet网_OMRON PLC与上位计算机之间的通信_OMRON PLC与上位计算机通信程序-维库电子通...
  10. 数据上报java_通过Jaeger上报Java应用数据