python随笔2: PIL参考手册翻译(0-3)

2024-06-10 18:58

本文主要是介绍python随笔2: PIL参考手册翻译(0-3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PIL手册

小弟尝试翻译下现在的pil库手册,时间版本是2013-02-20.
附:http://infohost.nmt.edu/tcc/help/pubs/pil/

  • 摘要
  • 简介
  • 创建image类对象
  • imageDraw模式
  • 图像增强:imageFilter模块
  • imagFont模块
  • imageTk模块
  • 支持图片格式

* 摘要*

描述一个针对Python 图像处理库(image-processing library)
这个发布版有web形式的和pdf文档形式。
请将相关评论发索道一个tccdoc@nmt.edu。(原文是这样,跟小弟并没有什么关系)


简介

Python Imaging Library (PIL)允许你使用Python语言在多种图片文件格式下去创建修改转换图像文件。
对额外的PIL特征在本文中没有描述,参考在线PIL手册
更多关于Python的信息,参考作者配套手册,Python语言快速参考手册或者登录python网站找寻找更多关于python语言的一般特性。


定义

这些术语被广泛的使用:

  1. Band
  2. Modes
  3. Sizes
  4. corrdinates
  5. Angles
  6. Bboxes(bounding boxes)
  7. Colors
  8. Filter

  • Band(子带)

一个图片子带是一组数据,包含一个图片的每一个像素。单色和灰度图片有一个子带,在RGB系统下的彩色图片有三个子带,CMYK图片有四个子带,Photoshop 用户会觉得子带类似于Photoshop中的通道(channels)

  • Modes(模式)

图片的模式描述一种表示颜色颜色的方式,每种格式都被一个字符串表示:

Mode Bands Description
“1”1黑和白(单色),每个像素一位表示
“L”1灰度范围,每个像素8位表示
“P”1调色板编码,每个像素一个字节,使用ImagePalette调色板类转换像素到颜色,这个模式还在试验阶段,请参考[在线文档](http://www.pythonware.com/library/pil/handbook/index.htm)
“RGB”3真红绿蓝颜色,每个像素三节表示
“RGBA”4真彩色并有一个透明度子带,每个像素四字节,A通道从0变换到255对应不同的透明度
“CMYK”4青色-品红-黄-黑颜色,每个像素四位字节表示
“YCbCr”3颜色视频格式,每个像素三个字节
“I”1每个像素32位整数表示
“F”1每个像素32位浮点数表示
  • Sizes(尺寸)

图片中对象的尺寸别描述在一个2位的组元中(w,h),其中h是像素的高度,w是宽度。

  • Coordinates(坐标系)

像素的坐标系原点在他的左上角,(0,0)点是图像的左上角。
向右移动时,x坐标增加,向下移动时,y坐标增加。
当方向被指定在一个方向点入东或者西南时,假定北方是向上的,朝向整个显示区域的顶部。

  • Angles(角度)

角度被表示在度。0度是在+x方向(东)方向,角度顺时针增加,在笛卡尔坐标系下,例如,45度指向东北方向

  • boxes(bounding boxes)(边缘盒子)
    一个边缘区域或者bbox是一个图片中的矩形。通过一个四位的元组来定义(X0,Y0,X1,Y1)其中(X0,Y0)表示矩形的左上角(西北角),(X1,Y1)是右下角(东南角)。
    总的来说,这个区域通过一个边缘盒子描述包含(X0,Y0),但是他将不会包括(X1,Y1)和点(X1,Y1)所在的行和列。
    例如,在边缘盒子(0,0,5,10)的区域画一个椭圆,会产生一个5个像素宽10个像素高,这个元将会包括第四列像素但是不包括第五列像素,也会包括第九列像素但是不包括第十列像素。

  • Colors(颜色)

你可以通过多种方式指定颜色。
对于单子带图片,颜色是像素值,例如,在模式”1”图像,颜色是一个单精度整形,0代表黑,1代表白,对于模式”L”是从[0,255]的整型。0代表黑,255代表白。
对于多自带图像,为每个子带对于一个元组的值,在”RGB”图片中,元组(255,0,0)是纯红色。
你可以使用CSS样式#rrggbb形式的字符串表示颜色,其中rr指定红色部分使用两个十六进制数字,gg指定绿色,bb指定蓝色,例如,#ffff00意味着黄色,(全红加全绿)。
为了使用十进制指定RGB像素值,使用”rgb(R,G,B)”.例如”rgb(0,255,0)”代表存绿色。
为来使用百分百指定RGB像素值,使用”rgb(R%,G%,B%)”。例如”rgb(85%,85%,85%)”代表浅灰色。
为了使用HSV来指定颜色,使用”hsl(H,S%,L%)”字符串指定,
H是色调,用度数表示:0表示红色,60表示黄色,120表示绿色,等等。
S是饱和度:0%表示完全不饱和(gray),100%是完全饱和
L是亮度,0%代表黑色,50%表示正常,100%表示白色
例如,”hsl(180,100%,50%)”是青色
在Unix系统下,你可以使用本地的标准颜色名称而不是从给定的”/use/lib/X11/rgb.txt”例如”white”,”DodgerBlue”,”coral”.

  • Filters(滤波器)
    一些操作符降低像素的数量,如创建一个缩略图,可以使用不同的滤波器去计算一个新的像素值,这些包括:
    NEAREST
    使用临近像素的值
    BILINEAR
    使用一个2x2的临近像素的线性插值
    BICUBIC
    使用一个4x4的区域的立体差值。
    ANTIALIAS
    临近像素可以被重抽样用来找到一个新的值。

这篇关于python随笔2: PIL参考手册翻译(0-3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1048998

相关文章

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

Python海象运算符:=的具体实现

《Python海象运算符:=的具体实现》海象运算符又称​​赋值表达式,Python3.8后可用,其核心设计是在表达式内部完成变量赋值并返回该值,从而简化代码逻辑,下面就来详细的介绍一下如何使用,感兴趣... 目录简介​​条件判断优化循环控制简化​推导式高效计算​正则匹配与数据提取​性能对比简介海象运算符

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

python项目打包成docker容器镜像的两种方法实现

《python项目打包成docker容器镜像的两种方法实现》本文介绍两种将Python项目打包为Docker镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录简单版:(一次成功,后续下载对应的软件依赖)第一步:肯定是构建dockerfile,如下:第二步

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里