📜  PIL 中的图像增强

📅  最后修改于: 2022-05-13 01:55:41.075000             🧑  作者: Mango

PIL 中的图像增强

Python图像库 (PIL)增加了强大的图像处理功能。它提供了巨大的文件格式支持、高效的表示和相当强大的图像处理能力。核心图像库旨在快速访问以极少数基本像素格式存储的数据。它为通用图像处理工具提供了坚实的基础。

使用 PIL 的步骤

步骤 1:从 PIL library.e 导入 Image 模块

from PIL import Image

该模块提供了一个具有相同名称的类,用于表示 PIL 图像。并且还提供各种功能,包括从文件加载图像和创建新图像的功能。我不会在这里解释整个 Image 模块。但是,您可以通过以下方式打开图像文件。

image_variable_name = Image.open("lena.jpg")

我们将在这里使用 PNG 图像。要记住的一件事 - 您在此处使用的图像文件必须存在于您的程序所在的同一目录中。否则使用引号内的图像文件的完整路径。

现在,您可以使用一行代码在图像查看器中查看图像。



image_variable_name.show()

第 2 步:现在是时候从 PIL 库中导入最重要的模块 - 'ImageEnhance' 模块

from PIL import ImageEnhance

ImageEnhance 模块包含将用于图像增强的各种类。

我们可以用来增强的类

所有增强类都实现了一个典型的接口,其中包含一个名为“enhance(factor)”的方法。

课程如下:

亮度():

调整图像亮度。它习惯于控制我们生成的图像的亮度。亮度代码如下:



输入:

Python3
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()


Python3
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()


Python3
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()


Python3
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.Contrast(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 会产生与原始图像相同的结果。

输出:

颜色():

调整图像颜色级别。它习惯于控制我们生成的图像的颜色级别。着色代码如下:

输入:

蟒蛇3



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 会产生与原始图像相同的结果。

输出:

对比():

调整图像对比度。它习惯于控制我们生成的图像的对比度。改变对比度的代码如下:

输入:

蟒蛇3

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 会产生与原始图像相同的结果。

输出:



锐度():

调整图像清晰度。它习惯于控制我们生成的图像的清晰度。改变锐度的代码如下:

输入:

蟒蛇3

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.Contrast(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 个类是最常用的,用于增强图像。那里还有许多其他功能。不要在这里停止学习,自己去探索更多。