• 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. js数组的增删改查

    array 数组的增删改: push 从数组后面推入一个元素或多个元素 var arr = [1,2,3]; ​ // 返回:修改后数组的长度 arr.push(4,5,6); pop 删除数组最后一 ...

  2. 一台机器上搭建多个redis实例的配置文件修改部分

    1.单个redis服务搭建请参考:redis服务搭建 2.一台Redis服务器,分成多个节点,每个节点分配一个端口(6380,6381…),默认端口是6379. 每个节点对应一个Redis配置文件,如 ...

  3. ajax跨域访问数据

    通过json发送和接受数据,数据以json的格式在服务器端和前台进行传递,什么是json数据?这里就不进行详细阐述,轻自行百度解决. 在html5 中利用ajax 异步请求时,会遇到跨域的问题,如果域 ...

  4. PHP将base64数据流转换成图片并保存

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RFC2049,上面有MIME的详细规范. Ba ...

  5. 面试官:你有m个鸡蛋,如何用最少的次数测出鸡蛋会在哪一层碎?

    假设你面前有一栋n层的大楼和m个鸡蛋,假设将鸡蛋从f层或更高的地方放扔下去,鸡蛋才会碎,否则就不会.你需要设计一种策略来确定f的值,求最坏情况下扔鸡蛋次数的最小值. leetcode原题链接 乍一看这 ...

  6. [Git] Git 使用记录

    1. 配置git客户端 1.1 安装git bash https://git-scm.com/downloads 1.2 设置ssh Key 查看是否有ssh key ls -al ~/.ssh 没有 ...

  7. scalikejdbc 学习笔记(5)

    常用增删改查操作: import scalikejdbc._ import scalikejdbc.config._ object CommonOperation { def main(args: A ...

  8. Kafka 学习笔记之 Topic日志清理

    Topic日志清理 server.properties: log.cleanup.policy=delete (默认) 1. 按时间维度进行Kafka日志清理 log.retention.hours= ...

  9. 利用双重检查锁定和CAS算法:解决并发下数据库的一致性问题

    背景 ​ 最近有一个场景遇到了数据库的并发问题.现在先由我来抽象一下,去掉不必要的繁杂业务. ​ 数据库表book存储着每本书的阅读量,一开始数据库是空的,不存在任何的数据.当用户访问接口的时候,判断 ...

  10. 使用LitePal建立表关联

    关联关系的基础知识   喜欢把所有的代码都写在一个类里的程序员肯定是个新手.没错,任何一个像样的程序都不可能仅仅只有一个类的,同样地,任何一个像样的数据库也不可能仅仅只有一张表.我们都知道,在面向对象 ...