当前位置: 首页 > article >正文

深度学习(八)-图像色彩操作

图像色彩调整

亮度调整

  • 对HSV空间的V分量进行处理可以实现对图像亮度的增强。
  • 直接将彩色图像灰度化,也可以得到代表图像亮度的灰度图进行图像处理,计算量比HSV颜色空间变化低。但在HSV空间中进行处理可以得到增强后的彩色图像。

opencv读取图片是BGR,需要使用时需要进行转换

饱和度调整

  • 对HSV空间的S分量进行处理可以实现对图像饱和度的增强。
  • 饱和度的调整通常是在S原始值上乘以一个修正系数。
  • 修正系数大于1,会增加饱和度,使图像的色彩更鲜明;
  • 修正系数小于1,会减小饱和度,使图像看起来比较平淡。

色调调整

  • 对HSV空间的H分量进行处理可以实现对图像色调的增强。
  • 色相H的值对应的是一个角度,并且在色相环上循环。所以色相的修正可能会造成颜色的失真。
  • 色相的调整通常在H原始值上加上一个小的偏移量,使其在色相环上有小角度的调整。调整后,图像的色调会变为冷色或者暖色

灰度化

图像灰度化

在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。将RGB图像转换为灰度图像的过程称为图像灰度化处理。

如何进行图像灰度化

灰度化处理方法包括:
  • 分量法。将彩色图像中的三分量的亮度作为三个灰度图像的灰度值,可根据应用需要选取一种灰度图像。
  • 最大值法。将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。
  • 将彩色图像中的三分量亮度求平均得到一个灰度值。
  • 根据重要性及其它指标,将三个分量以不同的权值进行加权平均。例如,由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,按下式对RGB三分量进行加权平均能得到较合理的灰度图像。如:

二值化与反二值化

二值化

二值化阈值处理是将原始图像处理为仅有两个值的二值图像,对于灰度值大于阈值t的像素点,将其灰度值设定为最大值。对于灰度值小于或等于阈值的像素点,将其灰度值设定为0。

 

反二值化

反二值化阈值处理的结果也是仅有两个值的二值图像,对于灰度值大于阈值的像素点,将其值设定为0;对于灰度值小于或等于阈值的像素点,将其值设定为255。

直方图均衡化处理

图像直方图
灰度直方图反映的是一幅图像中各灰度级像素出现的频率。以灰度级为横坐标,纵坐标为灰度级的频率,绘制频率同灰度级的关系图就是灰度直方图。它是图像的一个重要特征,反映了图像灰度分布的情况。
使用直方图进行图像变换是一种基于概率论的处理方法,通过改变图像的直方图,修改图像中各像素的灰度值,达到增强图像视觉效果的目的。
相对于灰度变化只针对单独的像素点操作,直方图变化综合考虑了全图的灰度值分布。

直方图均衡化
  • 直方图均衡化将原始图像的直方图,即灰度概率分布图,进行调整,使之变化为均衡分布的样式,达到灰度级均衡的效果,可以有效增强图像的整体对比度。
  • 直方图均衡化能够自动的计算变化函数,通过该方法自适应得产生有均衡直方图的输出图像。能够对图像过暗、过亮和细节不清晰的图像得到有效的增强。
  • 在常用的图像处理库中,直方图操作都有API直接调用实现。


http://www.kler.cn/a/290993.html

相关文章:

  • Oracle 数据库函数的用法(一)
  • 如何实现单例模式?
  • 【AI知识】为什么激活值过大/过小,初始权重过大/过小,可能导致梯度爆炸/消失?具体例子举例
  • 日本充电桩标准--CHAdeMO介绍
  • 【人工智能】用Python实现图卷积网络(GCN):从理论到节点分类实战
  • Linux设置篇
  • 基于FCM模糊聚类算法的图像分割matlab仿真
  • 【小设计】基于宏实现的C++ 可复用setter 和getter设计
  • 嵌入式面经 嵌入式软件开发 嵌入式硬件开发 经纬恒润嵌入式面试汇总总结
  • RK3588平台开发系列讲解(显示篇)图像的宽高和跨距
  • scss中的mix函数
  • 基于深度学习的人机交互中的认知模型
  • Google 的 9 年职业生涯回顾
  • ubuntu通过smba访问华为设备
  • 线性表之栈
  • ThreadLocal 在线程池中的内存泄漏问题
  • JavaAgent技术原理
  • MybatisPlus入门
  • Android Radio2.0——交通公告状态设置(二)
  • 【20.1 python中的Web基础】
  • 云计算之数据库
  • Java小白一文讲清Java中集合相关的知识点(四)
  • LEAP模型在能源环境发展、碳排放建模预测及分析中实践应用
  • Python面向对象(15对象嵌套特殊成员)
  • 云原生 | 在 Kubernetes 中使用 Cilium 替代 Calico 网络插件实践指南!
  • 大零售时代:开源 AI 智能名片、2+1 链动与 O2O 商城小程序引领融合新趋势