当前位置: 首页 > news >正文

Python学习笔记——PIL库(Pillow库)总结

一、图像数据的格式

①jpg

支持高级别的压缩,利用部分损耗,使图片变小,方便网络传播。

②png

无损压缩格式,比jpg略大,较好的保存图片画质,支持透明效果。

③gif

动图效果,多帧图像组合到一起形成动画。

④tiff

高画质,无压缩格式。打开速度慢,比jpg、png大十倍。

⑤raw

原始图像数据。打开速度慢,比jpg、png大十倍。

⑥webp

WebP(发音:weppy)是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式。

二、像素

图像的宽度和高度都是以像素为单位的。

像素是组成图像的最小方块

这些像素块有颜色位置和色彩值

三、最简案例

from PIL import Image
#1.打开图片
img = Image.open('1.png')
#2.处理图片
#3.预览、保存
img.show()
img.save('2.png')

 四、图像获取

from PIL import Image
#方式1
img = Image.open('1.png')
#方式2
img = Image.new("RGB",(300,300),"green")#模式,大小,颜色

五、图像的色彩模式

L  #灰度图像
RGB #彩色图像,红,绿,蓝三个值控制颜色
RGBA #比RGB多了一个alpha值,代表透明度。

六、img对象的属性

①img.format 图像格式

②img.size 图像尺寸

③img.mode 图像的色彩模式

七、img对象的方法

①img.convert() 转换图像模式

img2 = img.convert("L")

②img.resize() 重置尺寸

img2 = img.resize((300,200))

③img.rotate() 旋转图像

img2 = img.rotate(45)#正数:逆时针;负数:顺时针

④img.crop() 截图

img2 = img.crop((100,100,200,200))#左上角坐标,右下角坐标

⑤img.show() 预览

img.show()

⑥img.save()保存

img.save('2.png')

⑦img.filter()#图像滤波

from PIL import ImageFilterimg2 = img.filter(ImageFilter.CONTOUR)#传入滤波方式

BLUR

模糊效果,使图像较原图模糊一些

CONTOUR

轮廓效果,将图像的轮廓提取出来

DETAIL

细节效果,显化图像中的细节

EDGE_ENHANCE

图像边界加强效果,使图像的边缘部分突出

EDGE_ENHANCE_MORE

使图像的边缘部分更加明显

EMBOSS

图像的雕效果

FIND_EDGES

图像的边界效果

SHARPEN

图像的锐化效果,使图像变得更清晰

SMOOTH

图像的平滑效果,使图像平缓,改善图片质量

SMOOTH_MORE

使图像变得更加平滑

八、图像增强功能 

from PIL import ImageEnhance
#2.处理图片
img_eh = ImageEnhance.Color(img)
img2 = img_eh.enhance(0.5)#1是正常

ImageEnhance.Color()

调整图像的彩色

ImageEnhance.Contrast()

调整图像的对比度

ImageEnhance.Brightness()

调整图像的亮度

ImageEnhance.Sharpness()

调整图像的锐度

http://www.lryc.cn/news/18161.html

相关文章:

  • C. Build Permutation【整数理论、构造、思维】
  • 关于ETL的两种架构(ETL架构和ELT架构)
  • android系统目录
  • 【C/C++】中【typedef】用法大全
  • 超实用的公众号运营攻略分享,纯干货
  • 编写NodeJs脚本实现接口请求
  • 【无人机】回波状态网络(ESN)在固定翼无人机非线性控制中的应用(Matlab代码实现)
  • YAML 文件简介
  • Python四大主题之一【 Web】 编程框架
  • 【C++】哈希表
  • 深度学习入门(六十七)循环神经网络——注意力机制
  • 阿里云云通信风控系统的架构与实践
  • 【性能测试】loadrunner(一)知识准备
  • 【Vue3源码】第五章 ref的原理 实现ref
  • [Flink]部署模式(看pdf上的放上面)
  • Linux 查看 CPU 信息,机器型号,内存等信息
  • 三维量子力学 量子力学(3)
  • Blazor入门100天 : 身份验证和授权 (6) - 使用 FreeSql orm 管理ids数据
  • Java文件IO操作:File类的相关内容
  • 竣达技术 | 巡检触摸屏配合电池柜,电池安全放首位!
  • 什么是自动化运维?为什么选择Python做自动化运维?
  • 【经验】移植环境requirement时报错
  • 计算机专业要考什么证书?
  • 一个列表引发的思考(简单版)
  • Protobuf 学习简记(三)Unity C#中的序列化与反序列化
  • Flask入门(10):Flask使用SQLAlchemy
  • 我的 System Verilog 学习记录(4)
  • Git : 本地分支与远程分支的映射关系
  • 运维必看|跨国公司几千员工稳定访问Office365,怎么实现?
  • Python GDAL读取栅格数据并基于质量评估波段QA对指定数据加以筛选掩膜