Pillow ImageMath表达式语法

2021-07-14 14:36 更新

表达式是标准的python表达式,但它们是在非标准环境中计算的。您可以像往常一样使用PIL方法,加上以下一组运算符和函数:

标准运算符

您可以使用标准的算术运算符进行加法(+)、减法(-)、乘法(*)和除法(/)。

该模块还支持一元减号(-)、模(%)和幂(**)运算符。

请注意,根据需要,所有操作都是用32位整数或32位浮点值完成的。例如,如果添加两个8位图像,结果将是一个32位整数图像。如果将浮点常量添加到8位图像中,结果将是32位浮点图像。

您可以使用强制转换convert()float()以及int() 下面描述的功能。

位运算符

该模块还提供对单个位进行操作的操作。这包括与(&)或(|)和异或(^)。您还可以反转(~)所有像素位。

注意,在应用按位运算之前,操作数被转换为32位有符号整数。这意味着,如果反转普通灰度图像,将得到负值。您可以使用​and​(&)运算符屏蔽不需要的位。

位运算符不适用于浮点图像。

逻辑运算符

逻辑运算符 ​and ​, ​or ​和 ​not ​处理整个图像,而不是单个像素。

空图像(所有像素为零)将被视为假。所有其他图像均视为真。

注意 ​and ​和 ​or ​返回上次计算的操作数,但不总是返回布尔值。

内置函数

这些功能应用于每个单独的像素。

abs(image)

绝对值。

convert(imagemode)

将图像转换为给定模式。模式必须作为字符串常量提供。

float(image)

将图像转换为32位浮点。这等效于 ​convert(image, "F")​。

int(image)

将图像转换为32位整数。这等效于 ​convert(image, "I")​。

请注意,如果需要获得正确的结果,1位和8位图像将自动转换为32位整数。

max(image1image2)

最大值。

min(image1image2)

最小值。



以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号