• PIL库是python语言第三方库,需要通过pip工具安装,安装库的名字是pillow。

  PIL库支持图像存储,显示和处理,它能够处理几乎所有图片格式,可以完成对图像的缩放,裁剪,叠加以及向图像添加线条,图像和文字等操作。

    功能需求:

  1. 图像归档:对图像进行批处理,生成图像预览,图像格式转换等。
  2. 图像处理:图像基本处理,像素处理,颜色处理等。 
  • PIL库Image类解析

  导入方法:from PIL import Image

  要加载一个图像文件,最简单的形式如下,之后所有操作对im起作用

from PIL import Image
im=Image.open("H:\\谷歌下载\\b.jpg")

  常用属性:

  1. format:源文件的文件格式。如果是由PIL创建的图像,则其文件格式为None。
  2. mode:图像的模式。这个字符串表明图像所使用像素格式。该属性典型的取值为“1”,“L”,“RGB”或“CMYK”。
  3. size:图像的尺寸,按照像素数计算。它的返回值为宽度和高度的二元组(width, height)。
  4. palette:颜色调色板表格。如果图像的模式是“P”,则返回ImagePalette类的实例;否则,将为None。

  微实例:

from PIL import Image
im=Image.open("H:\\谷歌下载\\b.jpg")
print(im.format,im.size,im.mode)

  微实例:

  交换图像的颜色。可以通过分离RGB图片的3个颜色通道实现颜色互换。

from PIL import Image
im=Image.open("H:\\谷歌下载\\b.jpg")
r,g,b=im.split()
om=Image.merge("RGB",(b,g,r))
om.save("H:\\谷歌下载\\b.jpg")

交换前:

交换后:

  • PIL库ImageFilter类解析
  1. BLUR:模糊滤镜。会使图片较原先的模糊一些。
  2. CONTOUR:等高线。也就是轮廓滤波,将图像中的轮廓信息提取出来。
  3. DETALL:细节。也就是细节增强滤波,它会显化图片中细节。
  4. EDGE_ENHANCE:边缘强化。边缘增强滤波,突出、加强和改善图像中不同灰度区域之间的边界和轮廓的图像增强方法。经处理使得边界和边缘在图像上表现为图像灰度的突变,用以提高人眼识别能力。
  5. EDGE_ENHANCE_MORE :边缘更强。深度边缘增强滤波,会使得图像中边缘部分更加明显。
  6. EMBOSS :浮雕。浮雕滤波,会使图像呈现出浮雕效果。
  7. FIND_EDGES :边缘查找。寻找边缘信息的滤波,会找出图像中的边缘信息。
  8. SMOOTH :光滑。平滑滤波,突出图像的宽大区域、低频成分、主干部分或抑制图像噪声和干扰高频成分,使图像亮度平缓渐变,减小突变梯度,改善图像质量。
  9. SMOOTH_MORE:更加光滑。深度平滑滤波,会使得图像变得更加平滑。
  10. SHARPEN:锐化。锐化滤波,补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。

  微实例: 

from PIL import Image
from PIL import ImageFilter
im=Image.open("H:\\谷歌下载\\b.jpg")
om=im.filter(ImageFilter.CONTOUR)
om.save("H:\\谷歌下载\\b.jpg")

处理后:

python图像处理之PIL库的更多相关文章

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

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

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

    Python 之 使用 PIL 库做图像处理 1. 简介. 图像处理是一门应用非常广的技术,而拥有非常丰富第三方扩展库的 Python 当然不会错过这一门盛宴.PIL (Python Imaging ...

  3. 关于python下安装PIL库遇到的问题及解决办法

    关于python下安装PIL库遇到的问题及解决办法 关于python下安装PIL库遇到的问题及解决办法 :在下面这个网址下载pipllow(a replacement for PIL) www.lfd ...

  4. python,使用PIL库对图片进行操作

    在做识别验证码时,需要对验证码图片进行一些处理,所以就学习了一下PIL的知识,下面是我总结的一些常用方法. 注明:图片的操作都需要Image库,所以要使用import Image导入库 1.打开图片 ...

  5. Python图像处理库(1)

    转自:http://www.ituring.com.cn/tupubarticle/2024 第 1 章 基本的图像操作和处理 本章讲解操作和处理图像的基础知识,将通过大量示例介绍处理图像所需的 Py ...

  6. Python图像处理库(PIL)

    官方:(详细)http://pillow.readthedocs.io/en/3.1.x/reference/ImageDraw.html http://pillow.readthedocs.io/e ...

  7. python爬虫基础15-python图像处理,PIL库

    Python图像处理-Pillow 简介 Python传统的图像处理库PIL(Python Imaging Library ),可以说基本上是Python处理图像的标准库,功能强大,使用简单. 但是由 ...

  8. Python图像处理库:PIL中Image,ImageDraw等基本模块介绍

    Python图像处理库:PIL中Image,ImageDraw等基本模块介绍 标签: 图像处理PILPYTHON 2016-08-19 10:58 461人阅读 评论(0) 收藏 举报  分类: 其他 ...

  9. Python图像处理库PIL中图像格式转换(一)

    在数字图像处理中,针对不同的图像格式有其特定的处理算法. 所以,在做图像处理之前,我们须要考虑清楚自己要基于哪种格式的图像进行算法设计及事实上现.本文基于这个需求.使用python中的图像处理库PIL ...

随机推荐

  1. Ubuntu18.04 显卡驱动+Cuda安装踩坑记录 以及Ubuntu虚拟内存的添加

    前几天买了张亮机卡,终于把主显卡成功直连到Unraid OS的虚拟机上了.然后就开始安装ubuntu系统开始配置环境,遇到了不少坑,特此记录. gcc版本问题 在安装显卡驱动的时候,不要修改gcc版本 ...

  2. 浅谈Spring的事务隔离级别与传播性

    浅谈Spring的事务隔离级别与传播性 这篇文章以一个问题开始,如果你知道答案的话就可以跳过不看啦@(o・ェ・)@ Q:在一个批量任务执行的过程中,调用多个子任务时,如果有一些子任务发生异常,只是回滚 ...

  3. Redis 相关功能和实用命令(五)

    慢查询原因分析 由于 Redis 是单线程的,它内部维护了一个命令队列,所以当有耗时的命令出现时,比如 keys *,后面的命令会被阻塞,通查查出慢查询可以对服务进一步优化. 设置慢查询阀值:默认10 ...

  4. java 集成Redis 一主多从

    1.测试代码如下: public static void main(String[] args) { Set<String> sentinels = new HashSet<Stri ...

  5. 【SQL server基础】objectproperty()函数

    SQL Server OBJECTPROPERTY使用方法   OBJECTPROPERTY 返回有关当前数据库中的模式作用域对象的信息.此函数不能用于不是模式范围的对象,例如数据定义语言(DDL)触 ...

  6. Scala 占位符在REPL和Eclipse/IDEA中初始化变量问题

    占位符在REPL和Eclipse/IDEA中初始化变量问题: 占位符初始化,如果是局部变量,都会报错!只能在全局变量中使用! REPL: Eclipse: IDEA: 如果是类的属性,却就是对的.

  7. Scala 学习笔记之集合(3)

    建立一个Java类,为了演示Java集合类型向Scala集合的转换: import java.util.ArrayList; import java.util.List; public class S ...

  8. Spring Boot WebFlux 增删改查完整实战 demo

    03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello .这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD ...

  9. KafkaStream低级别API

    开发者可以通过Processor接口来实现自己的自定义处理逻辑.接口提供了Process和Punctuate方法. 其中:Process方法用于处理接受到的消息 Punctuate方法指定时间间隔周期 ...

  10. Redis Sentinel(哨兵核心机制) 初步深入

    ##### 1.Redis 的 Sentinel 系统用于管理多个 Redis 服务 该系统执行以下三个任务:  1.监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务 ...