• 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. [洛谷日报第39期]比STL还STL?——pbds

    [洛谷日报第39期]比STL还STL?——pbds   洛谷科技 发布时间:18-08-3116:37 __gnu_pbds食用教程 引入 某P党:“你们C++的STL库真强(e)大(xin),好多数 ...

  2. [python]兔子问题,斐波那契数列 递归&非递归

    假设一对幼年兔子需要一个月长成成年兔子,一对成年兔子一个月后每个月都可以繁衍出一对新的幼年兔子(即兔子诞生两个月后开始繁殖).不考虑死亡的情况,问第 N 个月时共有多少对兔子? 结果前几个月的兔子数量 ...

  3. python 数据分析师

    简介 越来越多的政府机关.企事业单位将选择拥有数据分析师资质的专业人士为他们的项目做出科学.合理的分析.以便正确决策:越来越多的风险投资机构把数据分析师所出具的数据分析报告作为其判断项目是否可行及是否 ...

  4. Spring boot 梳理 - Spring boot自动注册DispatcherServlet

    spring boot提供的DispatcherServlet的name就是“dispatcherServlet”. 源码 public ServletRegistrationBean dispatc ...

  5. 讨论c/c++计算小数的精度问题

    求出所有100以下整数与一位小数相乘等于相加的浮点数这个有Bug浮点数计算时精度会出现误差 除非使用非常精确的类型或限制浮点的位数 比如 #include <iostream> int m ...

  6. springboot 集成Redis一主二从三哨兵

    1.Centos7 Redis一主二从三哨兵配置 Redis一主二从三哨兵环境搭建 2.接入过程 与集成redis单机不同的是jedis相关的配置做了修改,JedisPool换成了JedisSenti ...

  7. Angular template ng-template/container/content

    1. ng-template 形式:<ng-template>...</ng-template> 默认ng-template中的内容会隐藏; 可通过[ngIf]来控制内容显示隐 ...

  8. python——成语接龙小游戏

    小试牛刀的简易成语接龙. 思路—— 1.网上下载成语字典的txt版本 2.通过python进行处理得到格式化的成语,并整理成字典(python字典查找速度快) 3.python程序,查找 用户输入的最 ...

  9. ARP攻击原理简析及防御措施

    0x1  简介 网络欺骗攻击作为一种非常专业化的攻击手段,给网络安全管理者,带来严峻的考验.网络安全的战场已经从互联网蔓延到用户内部的网络, 特别是局域网.目前利用ARP欺骗的木马病毒在局域网中广泛传 ...

  10. yii2 对字段 自动加一 或 减一

    用于数字类型,将值进行 累加 或者 累减 $count = 1, 就是加一 .   $count = -1, 就是减一 . $effect =  Model::updateAllCounters( [ ...