当我们进行图片的亮度、对比度等等效果调整,需要对某个效果进行增强或降低,就需要用到ColorJitter方法,这篇文章主要讲关于ColorJitter参数的解析
# 使用ColorJitter变换改变图像的颜色,参数为颜色的亮度、对比度、饱和度和色相的随机扰动范围(单值是变亮,双值是随机扰动)————值不可为负数
torchvision.transforms.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0)
导入库——PIL库为了显示图像以便观察
from PIL import Image
import matplotlib.pyplot as plt
import torchvision
获取图像
img = Image.open("1.jpg")
创建2×2的图像窗口——将四张图片放入以便一同观察
第一个窗口——放原图
该代码创建2×2的图像窗口并选择第一个窗口,放入原图
plt.subplot(221) # 创建一个2x2的图像窗口,并选择第1个子图
plt.imshow(img)
第二个窗口——调亮度
想要增强亮度,参数可以输入一个值,增强亮度为(1+0.6)原亮度
#3. 改变亮度
img1 = torchvision.transforms.ColorJitter((0.6))(img)
plt.subplot(222)
plt.imshow(img1)
第三个窗口——调对比度
想要增强对比度,参数可以输入一个值,增强对比度为(1+0.5)原对比度
#4. 改变对比度
img2 = torchvision.transforms.ColorJitter(0,(0.5))(img) # 如果是单值,则是增强效果
plt.subplot(223)
plt.imshow(img2)
第四个窗口——调饱和度
那想要减低效果,参数可以输入双值,因为降低效果为(1-0.5)到(1-0.6)之间的原效果
#5. 改变饱和度
img3 = torchvision.transforms.ColorJitter(0,0,(0.5,0.6))(img) # 如果是双值且在1之内,则是降低效果
plt.subplot(224)
plt.imshow(img3)
总结
主要就是增强用单值,降低用双值,这是我对这个参数的理解
这就是四张图的效果展示
如有问题,可提出修改