美白、磨皮、搞笑图片处理
python图像处理库 PIL库学习笔记
图像归档:对图像进行批处理、生成图像预览、图像格式转换等;
图像处理:图像基本处理、像素处理、颜色处理等。
一、PIL库Image类
(1)Image图片读取和创建方法
方法 |
描述 |
Image.open(filename) |
根据参数加载图像文件 |
Image.new(mode, size, color) |
根据给定参数创建一个新的图像 |
Image.open(StringIO.StringIO(buffer)) |
从字符串中获取图像 |
Image.frombytes(mode, size, data) |
根据像素点data创建图像 |
Image.verify() |
对图像文件完整性进行检查,返回异常 |
例如要加载一个图片
from PIL import Image im = Image.open("D:\\pycodes\\birdnest.jpg")
(2)Image类4个处理图片的常用属性
属性 |
描述 |
Image.format |
标识图像格式或来源,如果图像不是从文件读取,值是None |
Image.mode |
图像的色彩模式,"L"灰度图像、"RGB"真彩色图像、"CMYK"出版图像 |
Image.size |
图像宽度和高度,单位是像素(px),返回值是二元元组(tuple) |
Image.palette |
调色板属性,返回一个ImagePalette类型 |
(3)Image类的图像保存和处理
方法 |
描述 |
Image.save(filename, format) |
将图像保存为filename文件名,format是图片格式 |
Image.convert(mode) |
使用不同的参数,转换图像为新的模式 |
Image.thumbnail(size) |
创建图像的缩略图,size是缩略图尺寸的二元元组 |
(4)图像的过滤和增强
方法表示 |
描述 |
ImageFilter.BLUR |
图像的模糊效果 |
ImageFilter.CONTOUR |
图像的轮廓效果 |
ImageFilter.DETAIL |
图像的细节效果 |
ImageFilter.EDGE_ENHANCE |
图像的边界加强效果 |
ImageFilter.EDGE_ENHANCE_MORE |
图像的阈值边界加强效果 |
ImageFilter.EMBOSS |
图像的浮雕效果 |
ImageFilter.FIND_EDGES |
图像的边界效果 |
ImageFilter.SMOOTH |
图像的平滑效果 |
ImageFilter.SMOOTH_MORE |
图像的阈值平滑效果 |
ImageFilter.SHARPEN |
图像的锐化效果 |
#生成略缩图
1 from PIL import Image 2 im = Image.open("C:\\pic.2.jpg") 3 im.thumbnail((128, 128)) 4 im.save("picn","JPEG")
# 图像颜色交换
from PIL import Image im = Image.open("C:\\pic.2.jpg") r, g, b = im.split() om = Image.merge("RGB", (b, r, g )) om.save('picn1.jpg')
#提取图片轮廓
from PIL import Image from PIL import ImageFilter im = Image.open("C:\\pic.2.jpg") om = im.filter(ImageFilter.CONTOUR) om.save("picns2.jpg")
#图片浮雕处理
1 from PIL import Image 2 3 from PIL import ImageFilter 4 5 im = Image.open("C:\\pic.2.jpg") 6 7 om = im.filter(ImageFilter.EMBOSS) 8 9 om.save("picns3.jpg")
#提取GIF图像每一帧
from PIL import Image im = Image.open('Ada+.gif') # 读入一个GIF文件 try: im.save('picf{:02d}.png'.format(im.tell())) while True: im.seek(im.tell()+1) im.save('picf{:02d}.png'.format(im.tell())) except: print("处理结束")
(为什么粘贴到这里,gif就不动了呀??)
#图片的锐化处理
1 from PIL import Image 2 from PIL import ImageEnhance 3 im = Image.open("C:\\pic.2.jpg") 4 om = ImageEnhance.Sharpness(im) 5 om.enhance(200).save('picttt.jpg')
#图像的美白
1 from PIL import Image 2 from PIL import ImageEnhance 3 im = Image.open('C:\\pic.2.jpg') 4 om = ImageEnhance.Brightness(im) 5 om.enhance(1.4).save('pichh.jpg')
原文地址:https://www.cnblogs.com/Adaran/p/12918564.html
- 避免在ASP.NET Core中使用服务定位器模式
- 直传文件到Azure Storage的Blob服务中
- 闭路电视探头究竟有多不安全?
- windows API 开发飞机订票系统 图形化界面 (四)
- windows API 开发飞机订票系统 图形化界面 (三)
- windows API 开发飞机订票系统 图形化界面 (二)
- SQL SERVER几种数据迁移/导出导入的实践
- dom4j 使用总结
- 快速对表的某字段赋递增的数值
- SQL SERVER修改函数名引起的问题
- SQL Server安全(1/11):SQL Server安全概述
- SQL Server安全(2/11):身份验证(Authentication)
- SQL Server安全(3/11):主体和安全对象(Principals and Securables)
- 在SQL Server里如何进行页级别的恢复
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Flutter基础widgets教程-ListTile篇
- 深入剖析 linux GCC 4.4 的 STL String
- Flutter基础widgets教程-MaterialApp篇
- 如何使用Visual Studio Code开发Django项目
- Flutter基础widgets教程-Padding篇
- Flutter基础widgets教程-Placeholder篇
- Flutter基础widgets教程-PopupMenuButton篇
- Python部署rad+xray自动化
- 2.建立第一个django项目与配置
- Flutter基础widgets教程-Radio篇
- Django中的QuerySet
- Python—requests模块详解
- python爬虫伪装请求头---fake-useragent
- Flutter基础widgets教程-RaisedButton篇
- 记一次 excel vba 参考手册爬虫实战,不必要的一次爬虫。