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

230 阅读2分钟

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

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

图像增强哪家强

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

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

pip install pillow

图像增强处理

读取图像

image = Image.open('girl.jpeg')
image.show()
复制代码

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

283c68d3695610487b2e5a9b233384cd.png

亮度增强

enh_bri = ImageEnhance.Brightness(image)
brightness = 4
image_brightened = enh_bri.enhance(brightness)
image_brightened.show()
复制代码

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

7eeb8a880bd6597d6a5cc2886871c7cf.png

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

色度增强

enh_col = ImageEnhance.Color(image)
color = 4
image_colored = enh_col.enhance(color)
image_colored.show()
复制代码

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

b557ff46f2392b2e925825bc143c5c01.png

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

对比度增强

enh_con = ImageEnhance.Contrast(image)
contrast = 4
image_contrasted = enh_con.enhance(contrast)
image_contrasted.show()
复制代码

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

b74522ad5676c6aea0daca473010fd76.png

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

锐度增强

enh_sha = ImageEnhance.Sharpness(image)
sharpness = 4
image_sharped = enh_sha.enhance(sharpness)
image_sharped.show()
复制代码

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

8844257403f2cc050a261589acdaae61.png

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

总结

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

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

福利

这里有一份精心整理的程序员书单,不论你学习哪个编程语言,都会用得着:

**程序员必看经典书单
**