ImageEnchance:用 Python 增强图像

哈喽,码友们!在本教程中,我们将讨论ImageEnchancePillow 库下 Python 中可用的库。借助子库中存在的各种功能,它可用于以多种方式操作图像。

另请阅读:使用直方图可视化图像中的颜色 – Python OpenCV

让我们开始吧!

ImageEnhance.Color() 函数

此函数返回图像输出,但颜色发生变化。因子值可以是您想要的任何值。值 0 表示黑白图像,值 1 返回原始图像。

让我们从显示原始图像开始。我拍摄了玫​​瑰的样本图像,您可以拍摄任何您想要的其他图像。

1
2
3
4
5
from PIL import ImageEnhance, Image
img = Image.open('samp.jpg')
factor = 1.0
enhancer = ImageEnhance.Color(img)
enhancer.enhance(factor).show()
ImageEnhancer 原始图像

现在,让我们尝试可视化同一图像的黑白版本。

1
2
3
4
5
from PIL import ImageEnhance, Image
img = Image.open('samp.jpg')
factor = 0.0
enhancer = ImageEnhance.Color(img)
enhancer.enhance(factor).show()
ImageEnhancer 黑白图像

您是否想知道如果我向函数传递负值会发生什么?很明显,图像将开始朝负面方向发展。看看下面。

1
2
3
4
5
from PIL import ImageEnhance, Image
img = Image.open('samp.jpg')
factor = -1.0
enhancer = ImageEnhance.Color(img)
enhancer.enhance(factor).show()
ImageEnhancer 负像

ImageEnhance.Brightness() 函数

人们还可以使用下面的代码来调整图像的亮度。我们需要做的就是使用该ImageEnhance.Brightness函数捕获图像的当前亮度,然后对图像应用新的亮度因子。

1
2
3
4
5
6
7
8
from PIL import ImageEnhance, Image
img = Image.open('samp.jpg')
 
curr_bri = ImageEnhance.Brightness(img)
new_bri = 2.0
 
enhancer = curr_bri.enhance(new_bri)
enhancer.show()
ImageEnhancer 改变亮度

ImageEnhance.Contrast() 函数

这里的因子值设置为 0.0 时将给出纯灰色图像,值 1.0 将返回原始图像。我们将值保留为 3 以查看高对比度图像。

1
2
3
4
5
from PIL import ImageEnhance, Image
img = Image.open('samp.jpg')
factor = 3.0
enhancer = ImageEnhance.Contrast(img)
enhancer.enhance(factor).show()
ImageEnhancer 高对比度图像

ImageEnhance.Sharpness() 函数

您还可以借助此功能享受图像清晰度的乐趣。这里的系数设置为 30 以获得更清晰的图像。值越低,图像越模糊!

1
2
3
4
5
from PIL import ImageEnhance, Image
img = Image.open('samp.jpg')
factor = 30.0
enhancer = ImageEnhance.Sharpness(img)
enhancer.enhance(factor).show()
ImageEnhancer 锐化图像

结论

我希望您在 Python 中使用 ImageEnchance 库时感到愉快。尝试具有不同值的所有不同功能,并对结果的完美程度感到惊讶!

快乐编码!

另请阅读:Python 中的图像去噪 – 分步指南