云边日落 欲穷千里目,更上一层楼。 (唐·王之涣·登鹳雀楼)
博主 云边日落
渝ICP备2021002886号-1渝公网安备50022502000591号博主 11月5日 在线自豪地使用 Typecho 建站搭配使用 🌻Sunny 主题当前在线 1 人
歌曲封面 未知作品
  • 歌曲封面“魔女の宅急便”~ルージュの伝言松任谷由実

渝ICP备2021002886号-1

渝公网安备50022502000591号

网站已运行 4 年 152 天 17 小时 58 分

Powered by Typecho & Sunny

2 online · 42 ms

Title

色彩空间

8.8

·

·

142次阅读
OpenCV
Article
⚠️ 本文最后更新于2021年07月14日,已经过了1226天没有更新,若内容或图片失效,请留言反馈

大家好,今天我们学习内容是“色彩空间”,在此之前,我们先来看一看什么是色彩空间!

色彩空间的概念

色彩模型是描述使用一组值表示颜色方法的抽象数学模型。例如 三原色光模式(RGB) 和印刷四分色模式(CMYK) 都是色彩模型。但是一个与绝对色彩空间没有函数映射关系的色彩模型或多或少地都是与特定应用要求几乎没有关系的任意色彩系统。在色彩模型和一个特定的参照色彩空间之间加入一个特定的映射函数就在参照色彩空间中出现了一个明确的"footprint"。这个 "footprint" 称为色域,并且与色彩模型一起定义为一个新的色彩空间。例如 Adobe RGB 和 sRGB 是两个基于 RGB 模型的不同绝对色彩空间。

常见的色彩空间

RGB

{callout color="#ef9b4d"}
RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。
{/callout}
HSV

{callout color="#ef9b4d"}
HSV是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。
{/callout}
HIS

{callout color="#ef9b4d"}
HIS是从人的视觉系统出发,用色调(Hue)、色饱和度(Saturation)和亮度(Intensity)来描述颜色的一种方法。
{/callout}
YCrCb

{callout color="#ef9b4d"}
YCrCb主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“色度”则定义了颜色的两个方面─色调与饱和度,分别用Cr和Cb来表示。其中,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。
{/callout}
YUV

{callout color="#ef9b4d"}
YUV,是一种颜色编码方法,常使用在各个视频处理组件中。 YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
{/callout}

色彩空间的相互转换

最常见的两个

{callout color="#ef4d4d"}

  • HSV与RGB
  • YUV与RGB
    {/callout}

    完整代码

♾️ python 代码:
import cv2 as cv
import numpy as np


def color_space_demo(image):
    gray = cv.cvtColor(image, cv.COLOR_BGRA2GRAY)
    cv.imshow("gray", gray)
    hsv = cv.cvtColor(image, cv.COLOR_BGR2HSV)
    cv.imshow("hsv", hsv)
    yuv = cv.cvtColor(image, cv.COLOR_BGR2YUV)
    cv.imshow("yuv", yuv)
    ycrcb = cv.cvtColor(image, cv.COLOR_BGR2YCrCb)
    cv.imshow("ycrcb", ycrcb)
    rgb = cv.cvtColor(image, cv.COLOR_BGR2RGB)
    cv.imshow("rgb", rgb)


print("---------Hello Python---------")
src = cv.imread("E:/gan/ma.webp")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
color_space_demo(src)
cv.waitKey(0)

cv.destroyAllWindows()

显示结果

QQ截图20210714170559.png
QQ截图20210714170205.png
现在已有 0 条评论,0 人点赞
Author:8.8
作者
色彩空间
当前文章累计共 2238 字,阅读大概需要 2 分钟。
ROI的认识
2021年7月18日 · 0评论
像素运算
2021年7月15日 · 0评论
图像直方图
2021年7月21日 · 0评论
Comment:共0条
发表
搜 索 消 息 足 迹
你还不曾留言过..
你还不曾留下足迹..
博主 不再显示
博主