Python图像处理库PIL的ImagePath模块介绍

ImagePath模块被用于存储和操作二维向量数据。Path对象会被传递到ImageDraw模块中。

一、ImagePath模块的函数

1、 
Path

定义:ImagePath.Path(coordinates)
? Path instance

含义:创建一个path对象。坐标列表可以是任何形式的序列对象,其包括二元组[(x,y),…]或者数值[x,y,…]。

用户也可以从另一个path对象中创建一个新的path对象。

在1.1.6及其以后的版本中,用户也可以进入任何实现了python buffer API的对象。这个buffer应该提供读操作,并且containC
floats in machine byte order。

Path对象实现了大多数python的序列接口,像一个(x,y)对的序列。用户可以使用len()函数,访问其内部项,切分。但是,当前的版本不支持切分对齐,或者内部项和切分块删除。

二、ImagePath模块的方法

1、 
Compact

定义:p.compact(distance=2)
? count

含义:通过去除彼此接近的点压缩这path。这个方法会修改path本身,返回删除掉的点的个数。

变量distance按照城市距离来计算,默认为两个像素点。

例子:

>>> from PIL importImagePath

>>> path =ImagePath.Path((0,0,1,1,2,2,3,3,4,4,4,4,5,5,5,5,6,6))

>>> len(path)

9

>>> path.compact(2)

2

>>> len(path)

7

通过该函数,将path对象中的(4,4,4,4,5,5,5,5)进行了压缩,所以path对象的长度减小了2。

2、 
Getbbox

定义:p.getbbox()
? 4-tuple

含义:获取path对象的边界框。

例子:

>>> from PIL importImagePath

>>> path= ImagePath.Path((0,0,1,1,2,2,3,3,4,4,4,4,5,5,5,5,6,6))

>>> len(path)

9

>>> path.getbbox()

(0.0, 0.0, 6.0, 6.0)

对于坐标组(0,0,1,1,2,2,3,3,4,4,4,4,5,5,5,5,6,6),它的左上角为(0,0),右下角为(6,6),所以该方法返回的四元组为(0.0,0.0,
6.0, 6.0)。

3、 
Map

定义:p.map(function)

含义:通过变量function指定的函数映射path对象。

例子:

该例子还需要再研究一下。

4、 
Tolist

定义:p.tolist()
? list

含义:将path对象转换为python list[(x,y),…]。

例子:

>>> from PIL importImagePath

>>> path =ImagePath.Path((0,0,1,1,2,2,3,3,4,4,4,4,5,5,5,5,6,6))

>>> path.tolist()

[(0.0, 0.0), (1.0, 1.0), (2.0,2.0), (3.0, 3.0), (4.0, 4.0), (4.0, 4.0), (5.0, 5.0), (5.0, 5.0), (6.0, 6.0)]

5、 
Transform

定义:p.transform(matrix)

含义:使用仿射变换对path对象进行转换。变量matrix为六元组,且按照下面的方式进行操作:

xOut = xIn * a + yIn * b + c

yOut = xIn * d + yIn * e + f

例子:

>>> from PIL importImagePath

>>> path =ImagePath.Path((0,0,1,1,2,2,3,3,4,4,4,4,5,5,5,5,6,6))

>>> path.tolist()

[(0.0, 0.0), (1.0, 1.0), (2.0,2.0), (3.0, 3.0), (4.0, 4.0), (4.0, 4.0), (5.0, 5.0), (5.0, 5.0), (6.0, 6.0)]

>>>path.transform((2,3,1,3,2,2))

>>> path.tolist()

[(1.0, 2.0), (6.0, 7.0), (11.0,12.0), (16.0, 17.0), (21.0, 22.0), (21.0, 22.0), (26.0, 27.0), (26.0, 27.0),(31.0, 32.0)]
时间: 2025-01-03 20:33:42

Python图像处理库PIL的ImagePath模块介绍的相关文章

Python图像处理库PIL的ImageOps模块介绍

(Newin 1.1.3)ImageOps模块包含了一些"ready-made"的图像处理操作.这个模块somewhatexperimental,大多数操作只工作在L和RGB图像上. 一.ImageOps模块的函数 1.  Autocontrast 定义:ImageOps.autocontrast(image, cutoff=0)? image 含义:最大图像对比度.这个函数计算一个输入图像的直方图,从这个直方图中去除最亮和最暗的百分之cutoff,然后重新映射图像,以便保留的最暗像素

Python图像处理库PIL的ImageSequence模块介绍

ImageSequence模块包括了一个wrapper类,它能够让用户迭代訪问图形序列中每一帧图像. 一.ImageSequence模块的函数 1.  Iterator 定义:ImageSequence.Iterator(image) ? Iterator instance 含义:创建一个迭代器实例,让用户循环訪问序列中的全部帧图像. 样例:见以下的样例. 二.ImageSequence模块的方法 1.  Operator 定义:Operator [] 含义:用户调用这个操作器,从0開始訪问.

Python图像处理库PIL的ImageStat模块介绍

ImageStat模块用于计算整个图像或者图像的一个区域的统计数据. 一.ImageStat模块的函数 1.  Stat 定义1:ImageStat.Stat(image)? Stat instance ImageStat.Stat(image, mask)? Stat instance 含义1:计算给定图像的统计值. 假设变量mask被赋值,将仅仅针对变量mask所定义的区域进行统计. 样例1: >>> from PIL importImage, ImageStat >>&

Python图像处理库PIL中图像格式转换(一)

在数字图像处理中,针对不同的图像格式有其特定的处理算法.所以,在做图像处理之前,我们需要考虑清楚自己要基于哪种格式的图像进行算法设计及其实现.本文基于这个需求,使用python中的图像处理库PIL来实现不同图像格式的转换. 对于彩色图像,不管其图像格式是PNG,还是BMP,或者JPG,在PIL中,使用Image模块的open()函数打开后,返回的图像对象的模式都是"RGB".而对于灰度图像,不管其图像格式是PNG,还是BMP,或者JPG,打开后,其模式为"L". 通

Python图像处理库(PIL)

Python Imaging Library为您的python程序添加图像处理能力.这个库提供广泛的文件格式支持.高效的内部表示和相当强大的图像处理能力. 核心图像库是为快速访问几种基本像素格式图像设计的.它能为一般的图像处理工具提供一个可靠的基础. 这个Pythonic library可以 装载和保存多种格式文件 Loading and Saving images (diverse formats)  Python Imaging Library的最新版本可以识别并读取多数图像格式.写图像操作

Python图像处理库(1)

转自:http://www.ituring.com.cn/tupubarticle/2024 第 1 章 基本的图像操作和处理 本章讲解操作和处理图像的基础知识,将通过大量示例介绍处理图像所需的 Python 工具包,并介绍用于读取图像.图像转换和缩放.计算导数.画图和保存结果等的基本工具.这些工具的使用将贯穿本书的剩余章节. 1.1 PIL:Python图像处理类库 PIL(Python Imaging Library Python,图像处理类库)提供了通用的图像处理功能,以及大量有用的基本图

【python标准库学习】re模块

1.什么是re 正则表达式一门相对通用的语言,在python中也有对正则表达式的支持,那就是的内置re模块.正则表达式就是一系列的规则去匹配字符串然后进行相应的操作,这些规则网上一搜一大片,而re则是运用正则表达式来提供一系列的功能强大的接口让我们来调用.通常我们在对日志文件进行操作的时候会对正则表达式运用的比较多来得到我们希望得到的数据. 2.python中的转义符 正则表达式中通常用反斜杠'\'来代表转义,'\d'代表数字等,但是python本身也是通过反斜杠'\'来表示转义,所以就和正则表

windows下Python 3.x图形图像处理库PIL的安装

图像处理是一门应用非常广的技术,而拥有非常丰富第三方扩展库的 Python 当然不会错过这一门盛宴.PIL (Python Imaging Library)是 Python 中最常用的图像处理库,目前版本为 1.1.7,我们可以 在这里 下载学习和查找资料. 我安装了好多次都没有安装上,说到底还是野路子学python学的不系统,所以老是出问题.在这里先说几个python中常用必备的几个专业名词:pip:python中安装第三方模块的包管理工具,通过它,我们就能安装编程时常用的模块了.PIL:Py

python第三方库PIL安装的各种坑

PIL python的图像处理库,pycharm安装屡次失败,始终报错 果断换依旧报错,查遍所有博客, 有给pip加参数的,pip install PIL --allow-external PIL --allow-unverified PIL  ,依旧不行. 走投无路,想起老师廖海峰的博客,回去查看,坑已挖好 啥都别说了,果断换pillow吧,安装好Pillow之后,PIL库就可用了