PIL中的图像增强
Python Imaging Library(PIL)增加了强大的图像处理能力。它提供了巨大的文件格式支持,有效的表示方法,以及相当强大的图像处理能力。核心图像库的目的是为了快速访问以极少数基本像素格式存储的数据。它为一般的图像处理工具提供了一个坚实的基础。
使用PIL的步骤
第1步:从PIL库中导入图像模块。
from PIL import Image
该模块提供了一个名称相同的类,用来表示PIL图像。还提供了各种功能,包括从文件中加载图像,以及创建新图像的功能。我不打算在这里解释整个图像模块。但是,这里是你如何打开一个图像文件。
image_variable_name = Image.open("lena.jpg")
我们将在这里使用PNG图像。有一件事要记住–你在这里使用的图像文件必须存在于你的程序所在的同一目录中。否则,请使用引号内的图像文件的完整路径。
现在你可以通过一行代码在你的图像浏览器中看到该图像。
image_variable_name.show()
第二步:现在是时候从PIL库中导入最重要的模块–“ImageEnhance “模块。
from PIL import ImageEnhance
ImageEnhance模块包含各种将用于图像增强的类。
我们可以用来增强的课程
所有的增强类都实现了一个典型的接口,包含一个名为 “增强(因子)”的方法。
PIL.ImageEnhance.[method](image_variable_name)
方法可以是亮度、颜色、对比度、锐度。
参数: enhance()方法只需要一个参数因子,即一个浮点。
返回类型:该方法返回一个增强的图像。
班级情况如下。
Brightness():
调整图像亮度。它习惯于控制我们生成的图像的亮度。亮度的代码如下。
输入:
from PIL import Image
from PIL import ImageEnhance
# Opens the image file
image = Image.open('gfg.png')
# shows image in image viewer
image.show()
# Enhance Brightness
curr_bri = ImageEnhance.Brightness(image)
new_bri = 2.5
# Brightness enhanced by a factor of 2.5
img_brightened = curr_bri.enhance(new_bri)
# shows updated image in image viewer
img_brightened.show()
增强系数为0.0的结果是全黑图像,增强系数为1.0的结果与原始图像相同。
输出:
Color():
调整图像色阶。它习惯于控制我们生成的图像的色阶。着色的代码如下。
输入:
from PIL import Image
from PIL import ImageEnhance
# Opens the image file
image = Image.open('gfg.png')
# shows image in image viewer
image.show()
# Enhance Color Level
curr_col = ImageEnhance.Color(image)
new_col = 2.5
# Color level enhanced by a factor of 2.5
img_colored = curr_col.enhance(new_col)
# shows updated image in image viewer
img_colored.show()
增强系数为0.0的结果是全黑和全白的图像,增强系数为1.0的结果与原始图像相同。
输出:
Contrast():
调整图像对比度。它习惯于控制我们生成的图像的对比度。改变对比度的代码如下。
输入:
from PIL import Image
from PIL import ImageEnhance
# Opens the image file
image = Image.open('gfg.png')
# shows image in image viewer
image.show()
# Enhance Contrast
curr_con = ImageEnhance.Contrast(image)
new_con = 0.3
# Contrast enhanced by a factor of 0.3
img_contrasted = curr_con.enhance(new_con)
# shows updated image in image viewer
img_contrasted.show()
增强系数为0.0的结果是全灰图像,增强系数为1.0的结果与原始图像相同。
输出:
Sharpness():
调整图像锐度。它习惯于控制我们生成的图像的锐度。改变锐度的代码如下。
输入:
from PIL import Image
from PIL import ImageEnhance
# Opens the image file
image = Image.open('gfg.png')
# shows image in image viewer
image.show()
# Enhance Sharpness
curr_sharp = ImageEnhance.Sharpness(image)
new_sharp = 8.3
# Sharpness enhanced by a factor of 8.3
img_sharped = curr_sharp.enhance(new_sharp)
# shows updated image in image viewer
img_sharped.show()
增强系数为0.0会导致图像模糊,增强系数为1.0会导致与原始图像相同,系数>1.0会导致图像锐化。
输出:
这4个类是最常用的,用来增强图像。还有很多其他的功能可供选择。不要在这里停止你的学习,自己去探索更多。