在本文中,您将学习如何在 Python 中使用 PIL 对图像执行负变换。PIL 是Python Imaging Library的缩写。该库用于多种图像转换。PIL 使处理图像变得非常容易,并且可以帮助您编辑图像的不同部分,而无需使用很多行代码。
导入模块
让我们使用 PIL 中的图像类来实现此目的。结果,脚本的第一行将如下所示:
from PIL import Image |
在本例中,图像类由许多属性和方法组成。要打开图像、查看图像、从给定图像检索像素以及更改图像中的像素,我们需要 open、show、getpixel 和 putpixel 方法。
那么,让我们看看如何打开图像。可以按如下方式进行。
1
2
3
4
5
|
from PIL import Image import matplotlib.pyplot as plt img = Image. open ( "fig.jpg" ) plt.axis( 'off' ) plt.imshow(img) |
加载图像
这里,img 是所提供图像的图像对象,可以在图像的路径中找到它。” 让我们看看图像中颜色的负变换。
众所周知,在RGB颜色模型下,每种颜色都有一个范围为0-255的小数索引。值 0 表示最低,值 255 表示最高。例如,(255,255,255) 表示白色。
类似地,(0,0,0)代表黑色。我们的目的是进行颜色的负变换,这意味着反转颜色,如下所示。
令颜色X表示为(r,g,b)=(100,100,100)。可以变换如下
R=255-r =255-100=155 => R=155
类似地,G=155 和 B=155
因此 X 的负变换颜色索引为 (R,G,B) =(155,155,155)
实现图像的负变换
因此,让我们为图像的每个像素实现颜色负变换。
1
2
3
4
5
6
7
8
9
10
|
w,h = img.size for i in range (w): for j in range (h): r,g,b = img.getpixel((i,j)) r = 255 - r g = 255 - g b = 255 - b img.putpixel((i,j),(r,g,b)) plt.axis( 'off' ) plt.imshow(img) |
Python 图像负变换代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
from PIL import Image import matplotlib.pyplot as plt img = Image. open ( "fig.jpg" ) w,h = img.size for i in range (w): for j in range (h): r,g,b = img.getpixel((i,j)) r = 255 - r g = 255 - g b = 255 - b img.putpixel((i,j),(r,g,b)) plt.axis( 'off' ) plt.imshow(img) |
结论
恭喜!您刚刚学习了如何获得图像的负变换。希望你喜欢它!😇
喜欢该教程吗?无论如何,我建议您查看下面提到的教程:
- Python Patchify – 从大图像中提取补丁
- 用 Python 对服装图像进行分类 – 完整指南
- 在 Python 中对图像进行去噪 – 分步指南
- 使用直方图可视化图像中的颜色 – Python OpenCV
感谢您抽出宝贵时间!希望你学到新东西!😄