• 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")

处理后:

最新文章

  1. Java基础知识点复习知识点(一)变量,流程控制,数组
  2. My Sql 中要Alter Table的同学请注意!!!
  3. Dual Number
  4. pynotify
  5. SQL Server OBJECT_ID() 函数
  6. 【bzoj3160】【xsy1726】万径人踪灭
  7. webpack 多entry 配置
  8. Python中的 isdigit()方法
  9. UVa 12063 (DP) Zeros and Ones
  10. solr官方文档翻译系列之schema.xml配置介绍
  11. ecside入门
  12. [有用命令]Linux 用户,用户组
  13. office 2013幻灯片中插入SmartArt图形时出现错误下列一个或多个文件由于包含错误而无法运行
  14. ThinkPHP3.2 中空方法、空控制器和空模块的设置
  15. 翻译:ZooKeeper OverView
  16. 如何调用common.js
  17. HDU2029:Palindromes _easy version
  18. Qt样式总结
  19. sqlDataAdapter和SqlCommand的区别
  20. Cognos Report Studio 链接查询需要注意的地方2

热门文章

  1. word2vec之tensorflow(skip-gram)实现
  2. 基于SpringBoot + Mybatis实现 MVC 项目
  3. 1.html基础知识
  4. rabbitmq linux卸载
  5. springboot 使用freemarker自定义标签
  6. HTML5 相关扩展
  7. 50个实用的jq代码段整理
  8. ssm配置文件
  9. 从零开始的vue学习笔记(七)
  10. Spring Boot 定时任务 @Scheduled