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使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操