OpenCV色彩空间与通道

article/2025/2/6 23:46:39

色彩空间与通道

色彩空间(Color Space)是指用来描述和表示图像颜色的一种方式。不同的色彩空间具有不同的颜色模型和表示方式,常见的色彩空间包括 RGB、CMYK、HSV、Lab 等。
通道(Channel)是指在某种色彩空间中独立表示颜色信息的分量。每个通道负责记录特定颜色分量的强度或亮度。常见的图像通道包括红色通道(R)、绿色通道(G)和蓝色通道(B)。
常见的色彩空间和通道有:

RGB 色彩空间:

通道:红色通道 ®、绿色通道 (G)、蓝色通道 (B)。
描述:通过组合不同强度的红、绿、蓝三原色来表示所有可能的颜色。
RGB色彩空间是一种基于三原色的色彩模型,广泛应用于电子显示设备和计算机图形处理。在 RGB 色彩空间中,每个通道的取值范围通常是从 0 到 255,表示相应颜色分量的强度,其中 0 表示没有该颜色分量的贡献,255 表示最大强度。
通过不同强度的红、绿、蓝三个通道的组合,可以创建各种各样的颜色。例如,当红色通道为最大值(255),而绿色和蓝色通道都为最小值(0)时,得到的颜色就是纯红色。类似地,当红色和绿色通道都为最大值,而蓝色通道为最小值时,得到的颜色就是黄色。
在计算机图形处理中,我们可以通过控制 RGB 值来改变图像的颜色。调整不同通道的强度可以实现亮度、对比度、色调等颜色效果的变化。此外,使用 RGB 色彩空间还可以进行图像的合成、混合和颜色校正等操作。

import cv2
image = cv2.imread("C:/Users/ping/Desktop/photo.jpg")
image_rgb = cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
r,g,b = cv2.split(image_rgb)
cv2.imshow("r",r)
cv2.imshow("g",g)
cv2.imshow("b",b)
RGB = cv2.merge([r,g,b])
cv2.imshow("RGB",RGB)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

CMYK 色彩空间:

通道:青色通道 ©、品红通道 (M)、黄色通道 (Y)、黑色通道 (K)。
描述:通过组合不同程度的青、品红、黄、黑四个颜料的覆盖来表示颜色。
CMYK色彩空间是一种用于打印和印刷领域的颜色模型,它由青色(Cyan)、品红色(Magenta)、黄色(Yellow)和黑色(Key)四个颜色分量组成。每个分量的取值范围是0到100。
青色(Cyan):表示蓝绿色,较高的青色分量表示较多的青色。
品红色(Magenta):表示洋红色或紫红色,较高的品红色分量表示较多的品红色。
黄色(Yellow):表示黄色,较高的黄色分量表示较多的黄色。
黑色(Key):在CMYK色彩中,黑色也被称为Key色,通常用于调整亮度和对比度,较高的黑色分量表示较暗的色彩。
CMYK色彩空间的运用适用于印刷领域,因为它可以通过叠加不同颜色的墨水来实现广泛的颜色范围。与RGB色彩空间相比,CMYK色彩空间的颜色表示能力更适合印刷,但在显示设备上可能无法完全准确地显示出所期望的颜色效果。因此,当制作设计作品时,通常需要注意RGB和CMYK之间的转换以确保颜色的一致性。

HSV 色彩空间:

通道:色调通道 (H)、饱和度通道 (S)、亮度通道 (V)。
描述:色调表示颜色类型,饱和度表示颜色的纯度,亮度表示颜色的明暗程度。
HSV色彩空间是一种将颜色表示为色相(Hue)、饱和(Saturation)和明度(Value)三个分量的方式。每个分量都有其特定的取值范围:
色相(Hue):表示颜色的类型或种类,以角度为单位表示,取值范围是0到360度。0度对应红色,120度对应绿色,240度对应蓝色,以此类推。
饱和度(Saturation):表示颜色的鲜艳程度或纯度,取值范围是0到1.0,0表示灰度色彩(无色彩),1.0表示完全饱和的纯色。
明度(Value):表示颜色的亮度或明暗程度,取值范围是0到1.0,0表示最暗的黑色,1.0表示最亮的白色。
HSV色彩空间的优点在于它与人眼对颜色的感知方式较为一致,相比于RGB色彩空间,更容易理解和操作。例如,通过调整色相、饱和度和明度的值,可以实现颜色的调色、变换、增加饱和度或降低饱和度等效果。

import cv2
image = cv2.imread("C:/Users/ping/Desktop/photo.jpg")
image_hsv = cv2.cvtColor(image,cv2.COLOR_BGR2HSV)
h,s,v = cv2.split(image_hsv)
cv2.imshow("h",h)
cv2.imshow("s",s)
cv2.imshow("v",v)
HSV = cv2.merge([h,s,v])
cv2.imshow("HSV",HSV)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

Lab 色彩空间:

通道:亮度通道 (L)、绿-红通道 (a)、蓝-黄通道 (b)。
描述:亮度通道表示颜色的亮度,绿-红通道和蓝-黄通道表示颜色在红绿和蓝黄之间的偏移。
Lab(也称为CIELAB)色彩空间是一种与人类感知颜色相关的设备无关的色彩模型。它包含了亮度(L)通道和两个色度通道(a和b),用于描述颜色的明暗度和颜色的绿红和蓝黄分量。Lab色彩空间是基于对颜色感知的科学研究而定义的。
亮度(L):表示颜色的明暗程度,取值范围为0至100。0表示黑色,100表示白色。
色度a:表示从绿色到红色的范围,负值表示绿色,正值表示红色。
色度b:表示从蓝色到黄色的范围,负值表示蓝色,正值表示黄色。
Lab色彩空间的一个重要特性是其均匀性,即在此色彩空间中,相等距离的颜色变化在人眼中被认为是均匀的。这使得在Lab色彩空间中进行颜色调整和比较更为方便。另外,由于其与设备无关,Lab色彩空间通常用于颜色管理、色彩校准以及色彩转换等领域。

RGBA 色彩空间

BGRA色彩空间是一种常用于计算机图形和图像处理中的色彩模型。它由蓝色(Blue)、绿色(Green)、红色(Red)和Alpha通道(Opacity)四个分量组成。
蓝色(Blue):表示颜色中的蓝色分量,取值范围是0到255。
绿色(Green):表示颜色中的绿色分量,取值范围是0到255。
红色(Red):表示颜色中的红色分量,取值范围是0到255。
Alpha通道(Opacity):表示颜色的透明度,也被称为不透明度。取值范围是0到255,其中0表示完全透明,255表示完全不透明。
BGRA色彩空间经常用于计算机图形和图像处理中,特别是在使用像素级别操作时。它可以描述一个像素的颜色以及透明度信息,因此在图像合成、图像叠加、透明度混合等处理中非常有用。例如,在图像编辑软件中,我们可以通过调整BGRA分量的值来改变图像的颜色、亮度和透明度。

import cv2
bgr_image = cv2.imread("C:/Users/ping/Desktop/photo.jpg")
bgra_image = cv2.cvtColor(bgr_image, cv2.COLOR_BGR2BGRA)
cv2.imshow("BGRA", bgr_image)
b, g, r, a = cv2.split(bgra_image)
a[:, :] = 250 # 将BGRA图像的透明度调整为172(半透明)
bgra_172 = cv2.merge([b, g, r, a]) # 合并拆分后并将透明度调整为172的通道图像
a[:, :] = 50 # 将BGRA图像的透明度调整为0(透明)
bgra_0 = cv2.merge([b, g, r, a]) # 合并拆分后并将透明度调整为0的通道图像
cv2.imshow("A = 172", bgra_172) # 显示透明度为172的BGRA图像
cv2.imshow("A = 0", bgra_0) # 显示透明度为0的BGRA图像
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

函数说明:

cv2.split()

   planes = cv2.split(src)

src:输入的多通道图像,可以是NumPy数组或其他图像数据类型。
planes:包含分割后的单通道图像的列表。每个元素都是一个NumPy数组,表示一个通道的图像。

cv2.cvtColor()

cv2.cvtColor(src, code[, dst[, dstCn]])
src:输入图像,可以是 NumPy 数组或其他
图像数据类型。
code:要进行的颜色空间转换代码。可以使
用 OpenCV 中定义的预定义常量(例如 cv2.
COLOR_BGR2GRAY)。
dst(可选):输出图像,用于保存转换后的
结果。如果未提供此参数,则函数会创建一个
与 src 相同大小和类型的输出图像。
dstCn(可选):输出图像的通道数。默认值
为0,表示与输入图像的通道数保持一致。

cv2.merge()

cv2.merge(channels)
channels:包含要合并的单通道图像的列表。
每个元素都是一个NumPy数组,表示一个通道的图像。


http://chatgpt.dhexx.cn/article/0WejRRxc.shtml

相关文章

色彩空间(一):色彩空间基础

转载自:https://www.zhangxiaochun.com/color-space-1/ 序言 相信很多做设计的小伙伴都听说过 RGB 或者 CMYK 这样的概念,RGB 和 CMYK 就是两个典型的色彩空间模式,前者主要用于光学色彩展示(比如我们的电脑显示屏)&am…

【数字图像处理】色彩模型

作者介绍:小星的学习笔记,一名努力成为合格程序员的本科在读生 提示:本文仅为学习复习笔记,如有不对欢迎指正🎉🎉🎉 文章目录 前言 一、什么是色彩模型? 二、面向设备的色彩模型 …

色阶

Ps菜单:图层/新建调整图层/色阶 Layer/New Adjustment Layer/Levels Ps菜单:图像/调整/色阶 Image/Adjustments/Levels 快捷键:Ctrl/Cmd L 色阶 Levels命令可以调整图像的阴影、中间调和高光的强度级别,校正色调范围和色彩平衡。…

调色进阶工具的一些认识——色彩平衡

打开色彩平衡里面的内容,以及有哪些功能 我们打开CR里面也有阴影高光 阴影 高光 中间调什么概念呢,等于我们打开一张图片把这张图片分成了这三个部分。 阴影:在图指的是颜色偏暗的,那么根据这个颜色条红色部分同理可选颜色&a…

PS 色阶调整之算法公式原理详解及 Python 实现(色阶原理)

本文介绍了 PS 中色阶的实现原理及公式,并用 Python 实现,自测与 PS 的色阶调整效果基本完全一样(使用和 PS 中色阶相同的参数对比效果,包括各极限值,本文只实现了 RGB 整体色阶的处理,对各个通道的处理逻辑…

第四章 Opencv图像色彩空间与通道

文章目录 1.色彩空间1-1.RGB/BGR色彩空间1-2.GRAY色彩空间1-3.HSV色彩空间 2.通道2-1.拆分通道:split()方法1.拆BGR色彩空间图像的通道2.拆HSV色彩空间图像的通道 2-2.合并通道:merge()方法1.B、G、R 通道的合并2.H、S、V 通道的合并3.B、G、R、A 通道的…

halcon画出灰度直方图_Halcon绘制彩色深度图

此小文主要介绍颜色空间的转换,将深度图转为彩色,借以说明颜色转换与图像通道,下面是效果: 彩色深度图.jpg 深度图的生成 深度图的生成有便捷的算子可用,主要使用了binocular_disparity算子,输入左右两幅图…

【色度学】颜色的显色系统

我的理解: 色相:绝对量,表示颜色。 视明度:人眼视觉对某一刺激量知觉光的数量的多少,是知觉的绝对量。 明度:人眼视觉对某一刺激量直觉出其与周围白点或者最亮区域的相对亮度。 明度 视明度/白场视明度 视彩…

四、色彩空间

一、色彩空间 1、什么是色彩空间? 色彩空间是定义的颜色范围。 2、常见的色彩空间有哪些? ①RGB ②HSV 在OpenCV中,Hue的值为0~180,之所以不是360是因为,8位存不下,故进行归一化操作,使得H…

色彩系统总结

一、基本概念 1、几种色彩模式:RGB、HSB(HSV)、HSL RGB(Red 红色、Green 绿色、Blue 蓝色) HSB(Hue 色相、Saturation 饱和度、Brightness 明度) HSB 也称 HSV(Hue 色相、Saturation 饱和度、Value 值&…

色阶、灰度色彩模式、灰度等级

色彩三属性图解 色彩的客观三属性与主观三属性 在经典艺用色彩学中,我们只知道一种“色彩三属性”,实际上它只是对人们主观感受色彩的心理描述,建立在人的主观基础之上的对色彩属性的描述,色度学称之为“色彩的主观三属性”。 色彩…

图像的大小计算 位深和色深

图像的大小计算 1、位深和色深 位深:即在某一分辨率下,每一个像素点可以有多少种色彩来描述,单位为“bit”(位)。典型的色深是8-bit、16-bit、24-bit和32-bit。深度数值越高,可以获得更多的色彩。 图像深度是指存储每个像素所用的…

15.色彩空间

目录 一 色彩空间的粗略定义 二 色彩空间的分类 1.利用原色相混的比例表示的色彩空间 2.利用不同的概念表示的色彩空间 (1).色相 (2)饱和度 (3)明度 (4)亮度 三 HSV和HSL色…

2.1 色彩空间

色彩发送器 色彩认知:光源是出生点,光源发射出光线,光线通过直射反射折射等路径最终进入人眼。但是人眼接收到光线后,人眼的细胞产生了一系列化学反应。由此把产生的新号传入大脑,最终大脑对颜色产生了认知感知。 光的…

色数(色深”、“灰阶”、“色数”三者的关系)

色数,就是显示器能够显示最大色彩数量。我们在选购显示器时,常常会发现产品资料并未提及色深相关信息,却能看到“1670万色”、“10亿色”之类关于色数的描述,而“10亿色彩”表示该显示器能显示约10亿种不同的颜色。 比如&#xf…

彩色图像色彩空间原理(理论篇—6)

自然界的各种色彩、人类所感知的色彩以及各种图像设备和计算机软件所使用的颜色可通过色彩空间(Color Space)来描述。 色彩是人脑对不同视觉刺激的反应。人眼视网膜上的色敏细胞会分别对红、绿、蓝3个波段的色彩进行采样。采样后的信号传送至大脑后组合…

色彩深度、位深度、8位图像、16位图像、24位图像

在数字图像处理中,平时所说的1位图像、8位图像、16位图像、24位图像、32位图像等,其中的“位”是指图像中每一个像素点的色彩深度,或位深度。 在处理数字图像中的颜色时,计算机实际上是用每个像素点需要的**色彩深度(位…

微信小程序客服系统

微信公众平台 点击 客服 添加 微信文档-接收消息和事件 在页面中使用 第三方客服系统 芝麻小客服 填写对应的 appid && AppSecret 等信息 微信文档-接收消息和事件 在页面中使用 请点赞!因为你的鼓励是我写作的最大动力! 吹逼交流群&…

怎么授权接入芝麻小程序客服系统?

简单四步接入芝麻小客服,轻松上手小程序客服系统! 第一步:点击一键接入 第二步:选择小程序,选择授权接入 第三步:使用小程序管理员的微信扫码授权 请注意:小程序管理员不是公众号管理员,小程序的管理员账号是独立的。

芝麻小程序码基于设计原理提供免费美化小程序码

芝麻小程序码(官网首发美化)基于微信小程序码的设计原理,为小程序的开发、设计、运营人员提供免费的美化小程序码服务,助力小程序的运营推广和产品价值的体现。 先释放几个案列图片出来: 2017年4月份,微信…