问题

如何调整彩色图像的饱和度和亮度

解决思路

详细步骤:

  1. 将RGB图像值归一化到[0, 1]
  2. 然后使用函数cvtColor进行色彩空间的转换
  3. 接下来可以根据处理灰度图像对比度增强伽马变换或者线性变换调整饱和度和亮度分量
  4. 最后转换到RGB色彩空间

代码

# !/usr/bin/env python
# -*-encoding: utf-8-*-
# author:LiYanwei
# version:0.1import numpy as np
import cv2def main():# 加载图片 读取彩色图像image = cv2.imread('./Files_image/img1.jpg', cv2.IMREAD_COLOR)# print(image)# cv2.imshow("image", image)# 图像归一化,且转换为浮点型fImg = image.astype(np.float32)fImg = fImg / 255.0# 颜色空间转换 BGR转为HLShlsImg = cv2.cvtColor(fImg, cv2.COLOR_BGR2HLS)l = 100s = 100MAX_VALUE = 100# 调节饱和度和亮度的窗口cv2.namedWindow("l and s", cv2.WINDOW_AUTOSIZE)def nothing(*arg):pass# 滑动块cv2.createTrackbar("l", "l and s", l, MAX_VALUE, nothing)cv2.createTrackbar("s", "l and s", s, MAX_VALUE, nothing)# 调整饱和度和亮度后的效果lsImg = np.zeros(image.shape, np.float32)# 调整饱和度和亮度while True:# 复制hlsCopy = np.copy(hlsImg)# 得到 l 和 s 的值l = cv2.getTrackbarPos('l', 'l and s')s = cv2.getTrackbarPos('s', 'l and s')# 1.调整亮度(线性变换) , 2.将hlsCopy[:, :, 1]和hlsCopy[:, :, 2]中大于1的全部截取hlsCopy[:, :, 1] = (1.0 + l / float(MAX_VALUE)) * hlsCopy[:, :, 1]hlsCopy[:, :, 1][hlsCopy[:, :, 1] > 1] = 1# 饱和度hlsCopy[:, :, 2] = (1.0 + s / float(MAX_VALUE)) * hlsCopy[:, :, 2]hlsCopy[:, :, 2][hlsCopy[:, :, 2] > 1] = 1# HLS2BGRlsImg = cv2.cvtColor(hlsCopy, cv2.COLOR_HLS2BGR)# 显示调整后的效果cv2.imshow("l and s", lsImg)ch = cv2.waitKey(5)# 按 ESC 键退出if ch == 27:breakelif ch == ord('s'):# 按 s 键保存并退出# 保存结果lsImg = lsImg * 255lsImg = lsImg.astype(np.uint8)cv2.imwrite("lsImg.jpg", lsImg)break# 关闭所有的窗口cv2.destroyAllWindows()if __name__ == "__main__":main()

转载于:https://www.cnblogs.com/Py00/p/8876825.html

OpenCV调整彩色图像的饱和度和亮度相关推荐

  1. opencv调节图片饱和度_OpenCV调整彩色图像的饱和度和亮度

    问题 如何调整彩色图像的饱和度和亮度 解决思路 详细步骤: 将RGB图像值归一化到[0, 1] 然后使用函数cvtColor进行色彩空间的转换 接下来可以根据处理灰度图像对比度增强伽马变换或者线性变换 ...

  2. 基于OpenCV调整图像的对比度和亮度

    亮度和对比度的调整原理 公式原理: new_image = a*image + beta 即 g(x)=αf(x)+β 其中,α>0 , β 通常被称为 gain 或者 bias 参数,通常这两 ...

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

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

  4. OpenCV计算机视觉编程攻略之用色调、饱和度和亮度表示颜色

    OpenCV用cv::cvtColor 函数把BGR 图像转换成另一种色彩空间,用色调.饱和度和亮度表示颜色,这里使用转换代码CV_BGR2HSV.源代码如下: #include <vector ...

  5. OpenCV调整图像的亮度

    OpenCV调整图像的亮度 像素越靠近0图像越按,越靠近255,图像越亮,所以调整图片的亮度也就是调整每个像素点数值的大小. 原图 代码 public class DemoMat {static{Sy ...

  6. 【OpenCV计算机视觉基础】HSB的色调、饱和度和亮度概念

    色调.饱和度和亮度概念 HSB是一种符合直觉的色彩空间.使用色调.饱和度和亮度这三个概念来描述图像颜色. 此三种概念并没有标准的定义,但有定性的描述. 色调 色调(hue)指的是一幅画中画面色彩的总体 ...

  7. VS+OpenCV 处理图像的颜色(下)用色调、饱和度和亮度表示颜色、肤色检测

    [实现] #include<opencv2/core.hpp> #include<opencv2/highgui.hpp> #include<opencv2/imgpro ...

  8. 【图像处理】OpenCV系列五 --- 图像对比度、亮度值调整

    今天呢,我们一起学习一下,如何调整图像的对比度以及亮度. 一.原理 调整图像亮度与对比度所用的公式 g(i,j) = a * f(i,j) + b 其中,i 和 j 表示像素位于第i行 和 第j列 . ...

  9. opencv 调整图像亮度和对比度

    图像亮度 以灰度图像为例,图像亮度指的是图像的明暗程度,图像的像素值整体越接近于255,图像越亮,反之越接近于0,图像越暗. 图像对比度 假设灰度图像的像素值的范围为[a,b],如果b-a的值越接近于 ...

最新文章

  1. shell-extension
  2. 深入探索并发编程之内存屏障:资源控制操作
  3. drupal node 显示不同字段 node.tpl.php,修改Drupal Taxonomy Term列表显示方法
  4. 输出倒逼输入 加速自己成长
  5. 控制台当前行显示进度条,不换行
  6. java内存区域及静态常量池、运行时常量池介绍
  7. 解决文件路径的问题的总结
  8. 阿里上线了一款新的电商app
  9. day18-事务与连接池 1.复习
  10. linux中的特殊符号 (|) 管道。
  11. html如何设置table的宽度,HTML怎么设置table宽度
  12. openwrt修改ip地址
  13. charles安装证书并信任证书,仍然无法获取手机上的请求
  14. 单组学的多变量分析| 2.稀疏偏最小二乘判别分析(sPLS-DA)
  15. Kafka与其他MQ对比
  16. 为什么今天安全仍然重要
  17. 【绝对给力】Android开发免豆资料(教程+工具+源码)下载地址汇总 【转载自51CTO】
  18. 我本是诗人,却操戈卫国 --- 于谦
  19. 中国 外包 2012(zz.IS2120@BG57IV3)
  20. ARP协议分析与攻击防护(三)

热门文章

  1. 软件测试用python一般用来做什么-Python简直是万能的,这5大主要用途你一定要知道!...
  2. python编程入门指南 明日科技-python从入门到项目实践明日科技三剑客书籍视频...
  3. python编程语法大全-Python编程入门——基础语法详解
  4. python绘制3维图-python——绘制二元高斯分布的三维图像,
  5. python开发微信小程序-微信小程序开发:python+sanic 实现小程序登录注册
  6. 学python用什么系统好-学Python用什么系统?
  7. python3.0安卓版-qPython 3h下载
  8. python中处理日期和时间的标准模块是-2019python常见的170道面试题解析
  9. python 如何查看模块所有方法-Python查看模块(变量、函数、类)方法
  10. 零基础是学java还是python-老男孩零基础学习|python和java那个更有发展前景?