7

图像强度、对比度、饱和度和锐度的修改

 2 years ago
source link: https://xugaoxiang.com/2022/09/14/how-to-change-brightness-contrast-saturation-sharpness/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
  • windows 10 64bit
  • python 3.8
  • pillow 8.1.1

图像亮度是指图像的明暗程度,数字图像的灰度值在0 ~ 255之间,越接近0亮度越低,越接近255则亮度越高。对比度指的是图像中最高和最低灰度值之间的灰度差。饱和度指的是图像颜色种类的多少,饱和度越高,外观上看起来图像会更鲜艳,调整饱和度可以修正曝光。 图像锐化是补偿图像的轮廓,增强或添加图像的边缘及灰度跳变的部分,使图像变得更加清晰。

这里使用 pillow 库中的 ImageEnhance,直接来看实例吧

先准备张原始图片

d391be2c42a982db.jpg
from PIL import Image, ImageEnhance

img = Image.open('test.jpg')

# 亮度设置
converter = ImageEnhance.Brightness()
img_bright = converter.enhance(0.5)
img_bright.save('bright.jpg')
a6cac4afc85dab39.jpg
# 对比度
converter = ImageEnhance.Contrast(img)
img_contrast = converter.enhance(1)
img_contrast.save('contrast.jpg')
cb5106f1db8a85e8.jpg
# 饱和度设置
converter = ImageEnhance.Color(img)
img_saturation = converter.enhance(30)
img_saturation.save('saturation.jpg')
a05c318190323de2.jpg
# 锐度设置
converter = ImageEnhance.Sharpness(img)
img_sharpness = converter.enhance(10)
img_sharpness.save('sharpness.jpg')
9c75b141c0a7a619.jpg

4种设置中都有一个共同的方法 enhance,它的参数是一个 float 型数据,取值 1.0 代表保持原始图像,取值小于 1.0 表示降低,反之表示增强,强度、对比度、饱和度和锐度都一样。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK