Python美图技术也就几行代码!

封面

我们平时使用一些图像处理软件时,经常会看到其对图像的亮度、对比度、色度或者锐度进行调整。你是不是觉得这种技术的底层实现很高大上?

其实最基础的实现原理,用 Python 实现只需要几行代码,学会后你也可以进行简单的图像增强处理了。

图像增强哪家强

Python 中 PIL 模块中有一个叫做 ImageEnhance 的类,该类专门用于图像的增强处理,不仅可以增强(或减弱)图像的亮度、对比度、色度,还可以用于增强图像的锐度。

要使用这个模块,你必须先安装 PIL库:

pip install pillow

图像增强处理

读取图像

1
2
3
4

image = Image.open('girl.jpeg')
image.show()

我们的原始图像是一个拿着西红柿的清纯女孩:

亮度增强

1
2
3
4
enh_bri = ImageEnhance.Brightness(image)
brightness = 4
image_brightened = enh_bri.enhance(brightness)
image_brightened.show()

为了对比明显,我们将原始图像的亮度增强4倍,看看效果:

增强后的图像过于曝光了,是不是有那么一点刺眼?

色度增强

1
2
3
4
enh_col = ImageEnhance.Color(image)
color = 4
image_colored = enh_col.enhance(color)
image_colored.show()

同样地,我们将原始图像的色度增强4倍,看看效果:

这张图像的色彩就比较浓厚了,顿时感觉从一个青春少女变成一个风尘女子了!

对比度增强

1
2
3
4
enh_con = ImageEnhance.Contrast(image)
contrast = 4
image_contrasted = enh_con.enhance(contrast)
image_contrasted.show()

同样地,我们将原始图像的对比度增强4倍,看看效果:

这张图像就把细节处凸显得很明显了,有点像很早期的那种电影画面。

锐度增强

1
2
3
4
enh_sha = ImageEnhance.Sharpness(image)
sharpness = 4
image_sharped = enh_sha.enhance(sharpness)
image_sharped.show()

同样地,我们将原始图像的锐度增强4倍,看看效果:

锐度增强之后,看起来还比较可以,跟原图相比变化没那么明显。

总结

看完之后,是不是感觉很简单?最基础的四项图像增强技能全部只需一行代码就可以实现。我这里是对图像进行增强,你也可以反向操作,只需要将系数调整为小于1就可以实现图像减弱。

当然,实际的应用中,我们肯定会将这些维度综合调优,才能达到美图的效果。

Python Geek Tech wechat
欢迎订阅 Python 技术,这里分享关于 Python 的一切。