调整亮度、对比度、饱和度和色相 调整亮度、对比度、饱和度和色相 调整亮度、对比度、饱和度和色相

补充:transform.invert 预处理逆操作

from PIL import Image
from torchvision import transforms
import torch
import numpy as npdef transform_invert(img_, transform_train):"""将data 进行反transfrom操作:param img_: tensor:param transform_train: torchvision.transforms:return: PIL image"""if 'Normalize' in str(transform_train):# 分析transforms里的Normalizenorm_transform = list(filter(lambda x: isinstance(x, transforms.Normalize), transform_train.transforms))mean = torch.tensor(norm_transform[0].mean, dtype=img_.dtype, device=img_.device)std = torch.tensor(norm_transform[0].std, dtype=img_.dtype, device=img_.device)img_.mul_(std[:, None, None]).add_(mean[:, None, None])  # 广播三个维度 乘标准差 加均值img_ = img_.transpose(0, 2).transpose(0, 1)  # C*H*W --> H*W*C# 如果有ToTensor,那么之前数值就会被压缩至0-1之间。现在需要反变换回来,也就是乘255if 'ToTensor' in str(transform_train):img_ = np.array(img_) * 255# 先将np的元素转换为uint8数据类型,然后转换为PIL.Image类型if img_.shape[2] == 3:  # 若通道数为3 需要转为RGB类型img_ = Image.fromarray(img_.astype('uint8')).convert('RGB')elif img_.shape[2] == 1:  # 若通道数为1 需要压缩张量的维度至2Dimg_ = Image.fromarray(img_.astype('uint8').squeeze())else:raise Exception("Invalid img shape, expected 1 or 3 in axis 2, but got {}!".format(img_.shape[2]))return img_if __name__ == '__main__':img = Image.open(r"./test.jpg").convert('RGB')img_transform = transforms.Compose([transforms.ToTensor()])img_tensor = img_transform(img)# img_tensor.unsqueeze_(dim=0)    # C*H*W to B*C*H*Wprint(img_tensor)print(img_tensor.shape)img = transform_invert(img_tensor, img_transform)  # input: shape=[c h w]img.show()

调整亮度、对比度、饱和度和色相:ColorJitter

功能:调整亮度、对比度、饱和度和色相

主要参数说明:

  1. brightness:亮度调整因子
    当为a时,从[max(0, 1-a), 1 +a]中随机选择
    当为(a, b)时,从[a, b]中
  2. contrast:对比度参数,同brightness
  3. saturation:饱和度参数,同brightness
  4. hue:色相参数,当为a时,从[-a, a]中选择参数,注:0<= a <= 0.5

原图

1.亮度调整

from PIL import Image
from torchvision import transforms
from utils import transform_invertif __name__ == '__main__':# 1.读取图像img = Image.open(r"./cat.png").convert('RGB')# 2.确定预处理方式img_transform = transforms.Compose([## transforms.Resize((300,300)),  # 重置大小为300*300transforms.ColorJitter(brightness=0.5), # 亮度transforms.ToTensor()  # 转Tensor型变量])# 3.进行预处理img_tensor = img_transform(img)# 4.逆Transform变换img = transform_invert(img_tensor, img_transform)  # input: shape=[c h w]# 5.进行预处理效果展示img.show()

2. 调整对比度

from PIL import Image
from torchvision import transforms
from utils import transform_invertif __name__ == '__main__':# 1.读取图像img = Image.open(r"./cat.png").convert('RGB')# 2.确定预处理方式img_transform = transforms.Compose([## transforms.Resize((300,300)),  # 重置大小为300*300transforms.ColorJitter(contrast=0.1), # 对比度transforms.ToTensor()  # 转Tensor型变量])# 3.进行预处理img_tensor = img_transform(img)# 4.逆Transform变换img = transform_invert(img_tensor, img_transform)  # input: shape=[c h w]# 5.进行预处理效果展示img.show()

3.调整饱和度

from PIL import Image
from torchvision import transforms
from utils import transform_invertif __name__ == '__main__':# 1.读取图像img = Image.open(r"./cat.png").convert('RGB')# 2.确定预处理方式img_transform = transforms.Compose([## transforms.Resize((300,300)),  # 重置大小为300*300transforms.ColorJitter(saturation=0.1), # 饱和度transforms.ToTensor()  # 转Tensor型变量])# 3.进行预处理img_tensor = img_transform(img)# 4.逆Transform变换img = transform_invert(img_tensor, img_transform)  # input: shape=[c h w]# 5.进行预处理效果展示img.show()

4.调整色相

from PIL import Image
from torchvision import transforms
from utils import transform_invertif __name__ == '__main__':# 1.读取图像img = Image.open(r"./cat.png").convert('RGB')# 2.确定预处理方式img_transform = transforms.Compose([## transforms.Resize((300,300)),  # 重置大小为300*300transforms.ColorJitter(hue=0.8),  # 色相transforms.ToTensor()  # 转Tensor型变量])# 3.进行预处理img_tensor = img_transform(img)# 4.逆Transform变换img = transform_invert(img_tensor, img_transform)  # input: shape=[c h w]# 5.进行预处理效果展示img.show()

调整亮度、对比度、饱和度和色相相关推荐

  1. 图像处理之调整亮度与饱和度

    图像处理之调整亮度与饱和度 什么是亮度: 简单点说一幅图像的亮度属性是图像的RGB值的大小,RGB各个值越大亮度越高RGB 分量取值范围为0-255之间.调整图像亮度. 什么是饱和度: 饱和度是是指颜 ...

  2. windows android 对比度,色彩对比度饱和度基本测试

    色彩对比度饱和度基本测试 实际显示效果方面,第一印象上这块LTPS屏幕的色彩表现还是令人满意的,只是在屏幕亮度方面略有不足,下面我们将着重通过Display Tester这款软件当中容纳的多项屏幕测试 ...

  3. 图像调整亮度饱和度 c语言,图像处理之调整亮度与饱和度

    图像处理之调整亮度与饱和度 什么是亮度: 简单点说一幅图像的亮度属性是图像的RGB值的大小,RGB各个值越大亮度越高RGB 分量取值范围为0-255之间.调整图像亮度. 什么是饱和度: 饱和度是是指颜 ...

  4. android bitmap 色温,色温对比度饱和度 屏幕量化测试_手机Android频道-中关村在线...

    既然是1080p四核手机横评,那么本次横评的重点无疑在于屏幕与性能跑分.对于屏幕部分,我们依旧请出了去年横评时引入评测环节的BM-7A亮度色度仪对参与测试的机型进行了色温.饱和度.对比度的测试.这一设 ...

  5. Unity 3D 游戏通用系统设置页面,自定义按键设置,背景虚化,图像设置,亮度对比度饱和度音量调节,分辨率窗口化,帧率垂直同步,抗锯齿,阴影质量,纹理质量设置

    简易的游戏通用设置页面 本文章包含所有代码及UI结构 页面效果: UI结构(便于管理): 代码: 思路: 整个页面的父物体SettingPanel上挂载管理代码,用于获取设置页面中所有的功能按钮,拖动 ...

  6. python numpy opencv调整图片亮度对比度饱和度

    python 调整图片亮度对比度饱和度 安装依赖库 亮度变换 对比度变换 综合调整(完整代码) (想要完整代码直接划到最后) 原理比较简单,本质上是对图像各个通道的每个像素点做线性变换,对超出范围[0 ...

  7. 图片饱和度,色相,亮度调整

    改变图片颜色,会让图片更具灵活性和趣味性,那我们通常在修改图片的像素色差时,如何实现呢? 效果图: 饱和度: 色相: 亮度: OK,看完效果了,那么我们就用最简单的方式实现这几种有逼格的效果吧: xm ...

  8. android 图像对比度,关于opengl-es:Android-OpenGL-ES-反相曝光对比度饱和度色调滤镜

    通过前几篇的博客,咱们应该队OpenGL有了根底的意识,那么咱们就该来点实际了,它来了,它来了,真正的滤镜它来了 先放效果图 滤镜的学习是个循序渐进的过程,咱们本章先说一下简略的滤镜,也让读者揭开一角 ...

  9. PS里的亮度/对比度/饱和度/色阶算法-OpenGL实现

    1.亮度 PS里的亮度调整,主要是控制图片整体的亮度,可以弥补曝光过度和曝光补足需要补光的问题. 对RGB图像来说,亮度算法有很多种,最简单的一种就是直接整体提升或降低像素的RGB值.(RGB值为0到 ...

最新文章

  1. 桥接模式(Bridge)
  2. Android实例-为程序创建快捷方式(未测试)
  3. 以新ICT构建全联接的电力物联网,迈入能源智能时代
  4. 【数据分析】年轻人逃离大城市之后的下一站选哪儿?用数据来为你揭晓
  5. 大学计算机python期末考试用什么软件_大学计算机--Python算法实践_章节测验,期末考试,慕课答案查询公众号...
  6. python中breakpoint什么意思_it/breakpoint是什么意思
  7. ubuntu16.04下Caffe绘制训练过程的loss和accuracy曲线
  8. VSCode调试Python时终端输出中文乱码解决方法1
  9. 华为鸿蒙 os 适配机型曝光,华为鸿蒙OS 2.0首批适配机型曝光
  10. Kongzue的APP拍照相册选择工具
  11. 绪论-第1章-《数据结构习题集》答案解析-严蔚敏吴伟民版
  12. Android ListView优化总结
  13. Kaggle 机器学习实战 朴素贝叶斯(原理+西瓜数据集实战)
  14. Windows基础 主机加固
  15. 班级小工具一【微信接龙】
  16. 剪了 20% 的刘海、120Hz 刷新率、1TB 存储,最高售价为 12999 元的 iPhone 13 系列来了!
  17. 硬件电路设计-FPGA(EP4CE6)最小系统
  18. 好风凭借力,送我上青云
  19. 拆掉思维里的墙-阅读记录
  20. 世界最大的两个BT网站被迫下线 ExtraTorrent遭遇DDoS攻击

热门文章

  1. “海大学舍”Scrum Meeting(第十周会议记录)
  2. Dell戴尔笔记本电脑G15 5520原装出厂Windows11系统恢复原厂OEM系统
  3. RedHat上面部署iObjects C++
  4. 我的Blog东一个西一个!
  5. Linux学习思维导图
  6. NC65审批流、业务流开发流程,及可能遇到的问题
  7. 学习学习学习学习学习学习学习学习学习学习学习
  8. android仿酷狗界面,Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果
  9. dell客服(dell客服维修中心)
  10. P9065 [yLOI2023] 云梦谣 题解