学习自:PIL官方文档——Concepts

写在最前:PIL只处理栅格(Raster)数据

1、Bands

一幅图像由一个或多个波段的数据组成。PIL允许我们在单幅图像中存储多个波段,前提是它们有相同的维度。例如,一幅PNG图像包含了R、G、B、A波段,RGB不多说了,A是alpha透明度。在分析这种图像时,通常将每个像素点的不同波段值分开考虑。

为了得到一幅图像的bands数量和名字,可以用getbands()方法。

2、Modes

一幅图像的Mode是一个个String,它们标识了图像类型、像素深度等信息。目前(截止2021.4)支持的Modes有:

Mode 说明
1 黑白图像(二值图像),每个像素点只有0、1两个值
L 8-bit灰度图像
P 8-bit像素值,需要和调色板(palette)配合使用
RGB 3*8-bit,真彩色
RGBA 4*8-bit,真彩色+透明度
CMYK 4*8-bit,印刷色
YCbCr  
LAB 3*8;L*a*b颜色空间
HSV 3*8;色调、饱和度、亮度
I 32bit;有符号整型像素值
F 32bit;浮点像素值

3、一些图片基本项

Size 属性size;图像尺寸,是一个有2个元素的tuple
Info 信息Info;图像信息
Orientation 图像方位
Palette 调色板

4、滤波器

滤波器(使用方式PIL.Image.XXX) 说明 适用
NEAREST 最近邻  
BOX 每个像素都向目标像素贡献了相同权重;

resize()

thumbnail()

BILINEAR

双线性插值法;

参与计算的像素为输入图像中的目标像素附近2*2的像素

 
HAMMING 相比BILINEAR更锐化,相比BOX无错位

resize()

thumbnail()

BICUBIC

双三次插值法;

参与计算的像素为原图像中目标像素附近4*4的像素

 
LANCZOS Lanczos滤波器

resize()

thumbnail()

不同滤波器间的比较

Python:PIL(二)——相关概念的更多相关文章

  1. 有关python下二维码识别用法及识别率对比分析

    最近项目中用到二维码图片识别,在python下二维码识别,目前主要有三个模块:zbar .zbarlight.zxing. 1.三个模块的用法: #-*-coding=utf-8-*- import ...

  2. Python PIL

    Python PIL PIL (Python Image Library) 库是Python 语言的一个第三方库,PIL库支持图像存储.显示和处理,能够处理几乎所有格式的图片. 一.PIL库简介 1. ...

  3. python PIL 图像处理操作

    python PIL 图像处理 # 导入Image库 import Image # 读取图片 im = Image.open("1234.jpg") # 显示图片 im.show( ...

  4. 用python生成二维码

    Python生成二维码,可以使用qrcode模块, github地址 我是搬运工 首先安装, 因为打算生成好再展示出来,所以用到Pillow模块 pip install qrcode pip inst ...

  5. Python 实现二维码生成和识别

    今天突然想给自己自己做个头像,然后还是二维码的形式,这样只要扫一扫就可以访问我的主页.然后就开始自己的苦逼之路... 其实实现二维码java,c#,C++等都可以实现:由于自己正在学python,所以 ...

  6. python PIL相关操作

    项目中需要用python生成二维码,这里记录一下相关PIL相关操作. RGBA问题: 需要将图片A粘贴到图片B上,之前没有注意透明度问题,A的背景是透明的,粘贴到B上后,A的周围是黑的.后来才发现是P ...

  7. python PIL 图像处理

    python PIL 图像处理 This blog is from: https://www.jianshu.com/p/e8d058767dfa Image读出来的是PIL的类型,而skimage. ...

  8. Python,PIL压缩裁剪图片

    自己写了用来压缩 DC 照片的,批量处理整目录文件,非常方便.需要安装 PIL #!/usr/bin/env python import Image import os import os.path ...

  9. Python 基础 二

    Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...

  10. 初学Python(二)——数组

    初学Python(二)——数组 初学Python,主要整理一些学习到的知识点,这次是数组. # -*- coding:utf-8 -*- list = [2.0,3.0,4.0] #计算list长度 ...

随机推荐

  1. 安装python3.6,设为默认,yum不能用

    安装python3.6 1.安装依赖包 yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-r ...

  2. elasticsearch启动错误解决办法

    1.max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 解决: [r ...

  3. ORA-15081: failed to submit an I/O operation to a disk

    Problem: While restoring controlfile to test environment, from filesystem or tape environment after ...

  4. hr虚线

    转载请注明来源:https://www.cnblogs.com/hookjc/ <hr size="1" noshade="noshade" style= ...

  5. UITextFIeld的输入格式问题 ----W.P

    ---恢复内容开始--- 1.银行卡的输入格式,四个数字,一个空格. 2.金额的输入格式限制,不能以"."开头,"."后精确两位. 注意:第三方输入软件(百度, ...

  6. go基础——切片slice

    package main import "fmt" /* 切片: 不定长的数组,是引用类型的数据,指向一个底层数组. */ func main() { //切片的创建和访问 var ...

  7. DAG(有向无环图)技术

    什么是DAG? DAG的全称为"Directed Acyclic Graph",中文意思为:有向无环图,它由有限个顶点和"有向边"组成,从任意顶点出发,经过若干 ...

  8. MacOS常用命令行工具

    转自:https://blog.csdn.net/u014102846/article/details/77964493 https://ohmyz.sh/ https://github.com/ro ...

  9. Spring Security探究之路之开始

    前言 在Spring Security介绍中,我们分析到了根据请求获取匹配的SecurityFilterChain,这个类中包含了一组Filter 接下来我们从这些Filter开始探究之旅 Sprin ...

  10. Mysql的基本操作知识

    顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了.  笔记链接:http://p ...