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将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专