色彩空间

颜色模式

前提是你 提交于 2020-04-04 03:11:06
颜色模型就是指某个三维颜色空间中的一个可见光子集,它包含某个颜色域(使用颜色的领域)的所有颜色。 RGB颜色模型 RGB(Red, Green, Blue)颜色模型通常使用于彩色阴极射线 管等彩色光栅图形显示设备中,彩色光栅图形的显示器都使用R、G、B数值来驱动R、G、B 电子枪发射电子,并分别激发荧光屏上的R、G、B三种颜色的荧光粉 发出不同亮度的光线,并通过相加混合产生各种颜色;扫描仪也是通过吸收原稿经反射或透射而发送来 的光线中的R、G、B成分,并用它来表示原稿的颜色。 RGB颜色模型称为与设备相关的颜色模型 , RGB颜色模型所覆盖的颜色域取决于显示设备荧光点的颜色特性,是与硬件相关的 。它是我们使用最多,最熟悉的颜色模型。它采用三维直角坐标系。红、绿、蓝原色是加性原色,各个原色混合在一起可以产生复合色。如图所示。 RGB颜色模型通常采用如图所示的单位立方体来表示。在正方体的主对角线上,各原色的强度相等,产生由暗到明的白色,也就是不同的灰度值。(0,0,0)为黑色,(1,1,1)为白色。正方体的其他六个角点分别为红、黄、绿、青、蓝和品红。 HSV颜色模型 每一种颜色都是由色相(Hue,简H),饱和度(Saturation,简S)和色明度(Value,简V)所表示的。HSV模型对应于 圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1。它包含RGB模型中的R=1,G=1,B

颜色空间转换

烂漫一生 提交于 2020-02-07 00:11:11
1、转换颜色空间 HSV:色调(H),饱和度(S),明度(V)。 比如从 BGR 到灰度图,或者从BGR 到 HSV 等 我们要用到的函数是:cv2.cvtColor(input_image,flflag),其中 flflag 就是转换类型。 对于 BGR↔Gray 的转换,我们要使用的 flflag 就是 cv2.COLOR_BGR2GRAY。 同样对于 BGR↔HSV 的转换,我们用的 flflag 就是 cv2.COLOR_BGR2HSV。 你还可以通过下面的命令得到所有可用的 flflag。 import cv2 flags=[i for in dir(cv2) if i startswith('COLOR_')] print flags 注意:在 OpenCV 的 HSV 格式中,H(色彩/色度)的取值范围是 [0,179], S(饱和度)的取值范围 [0,255],V(亮度)的取值范围 [0,255]。但是不 同的软件使用的值可能不同。所以当你需要拿 OpenCV 的 HSV 值与其他软 件的 HSV 值进行对比时,一定要记得归一化。 2、物体跟踪 在 HSV 颜色空间中要比在 BGR 空间 中更容易表示一个特定颜色。 • 从视频中获取每一帧图像 • 将图像转换到 HSV 空间 • 设置 HSV 阈值到蓝色范围。 • 获取蓝色物体,当然我们还可以做其他任何我们想做的事

在OpenCV + Python中使用色彩空间进行图像分割

六眼飞鱼酱① 提交于 2020-02-04 02:33:50
在OpenCV + Python中使用色彩空间进行图像分割 什么是色彩空间? 在最常见的颜色空间RGB(红色绿色蓝色)中,颜色以红色,绿色和蓝色分量表示。用更专业的术语来说,RGB将颜色描述为三个组成部分的元组。每个分量可以取0到255之间的值,其中元组(0, 0, 0)代表黑色,(255, 255, 255)代表白色。 RGB被认为是三原色“加法”颜色空间,可以想象颜色是由大量红色,蓝色和绿色的光照射到黑色背景上产生的。 颜色 RGB值 红色 255,0,0 橙色 255,128,0 粉色 25,153,255 RGB是五个主要色彩空间模型之一,每个模型都有许多分支。颜色空间太多,因为不同的颜色空间可用于不同的目的。 在印刷领域,CMYK很有用,因为它描述了从白色背景产生颜色所需的颜色组合。RGB中的0元组是黑色,而CMYK中的0元组是白色。我们的打印机包含青色,品红色,黄色和黑色的墨水罐。 HSV和HSL是色相,饱和度和亮度/亮度的描述,对识别图像的对比度特别有用。这些色彩空间常用于软件的选色工具和网页设计中。 实际上,颜色是一种连续现象,意味着存在无限数量的颜色。但是,色彩空间通过离散结构(固定数量的整数整数值)表示颜色,这是可以接受的,因为人眼和感知也受到限制。颜色空间完全能够代表我们能够区分的所有颜色。 OpenCV中的色彩空间和读取图像 首先,您需要设置您的环境

pyplot模块介绍opencv的python实现

自古美人都是妖i 提交于 2020-01-19 18:51:06
subplot函数 subplot(2, 3, 4),函数表示在当前的两行三列的窗口的第四个位置上,添加一个窗口,见示例代码如下 import cv2 import numpy as np import matplotlib . pyplot as plt img = cv2 . imread ( '../data/1.jpg' , 0 ) plt . figure ( 'original' ) plt . subplot ( 2 , 3 , 4 ) plt . hist ( img . ravel ( ) , 256 ) plt . subplot ( 231 ) # 如果行数和列数不大于10,可以省略行数和列数和窗口序号的逗号 plt . hist ( img . ravel ( ) , 256 ) plt . show ( ) imshow函数 该函数有两个参数,第一个参数是图像信息,可以是各种形式的数值 第二个参数表示色彩空间,默认值是null,默认使用RGB(A)色彩空间 代码示例如下 import cv2 import numpy as np import matplotlib . pyplot as plt img_bgr = cv2 . imread ( '../data/1.jpg' , 0 ) img_rgb = cv2 . cvtColor ( img_bgr

颜色空间

我是研究僧i 提交于 2020-01-06 00:09:06
颜色通常用三个相对独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间。而颜色可以由不同的角度,用三个一组的不同属性加以描述,就产生了不同的颜色空间。但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象。 颜色空间按照基本结构可以分两大类:基色颜色空间和色、亮分离颜色空间。前者的典型是 RGB,还包括 CMY、CMYK、CIE XYZ 等;后者包括 YCC/YUV、Lab、以及一批“色相类颜色空间”。CIE XYZ 是定义一切颜色空间的基准,很奇妙的是,它即属于基色颜色空间,也属于色、亮分离颜色空间,是贯穿两者的枢纽。色、亮分离颜色空间中的子类型“色相类颜色空间”,是把颜色分成一个表亮属性,和两个表色属性,其中有一个表色属性是色相,而色相以外的两个属性可以选用不同的变量来定义,而色相的概念不变,因此就构成一族共同使用色相属性,另加表亮属性和表色属性各一个组成的颜色空间,它们是颜色空间中的一个家族,暂且统称为 HSB 颜色空间。 RGB颜色空间是一种大的分类,具体而言RGB空间还包含多种空间,其中sRGB是HP和Microsoft联合制定的标准RGB空间,除此之外还有Adobe RGB,Apple RGB,ColorMatch RGB等等,他们通过不同的方式表示RGB三种颜色,使得它们具有不同的色彩宽度,GAMMA值也是不一样的

颜色空间

与世无争的帅哥 提交于 2020-01-06 00:08:54
RGB、Lab、YUV、HSI、HSV等颜色空间的区别 RGB颜色空间 RGB(red,green,blue)颜色空间最常用的用途就是显示器系统,彩色阴极射线管,彩色光栅图形的显示器 都使用R、G、B数值来驱动R、G、B 电子枪发射电子,并分别激发荧光屏上的R、G、B三种颜色的荧光粉 发出不同亮度的光线,并通过相加混合产生各种颜色;扫描仪也是通过吸收原稿经反射或透射而发送来 的光线中的R、G、B成分,并用它来表示原稿的颜色。RGB色彩空间称为与设备相关的色彩空间,因为不同 的扫描仪扫描同一幅图像,会得到不同色彩的图像数据;不同型号的显示器显示同一幅图像,也会有不同 的色彩显示结果。显示器和扫描仪使用的RGB空间与CIE 1931 RGB真实三原色表色系统空间是不同的,后者 是与设备无关的颜色空间。btw:Photoshop的色彩选取器(Color Picker)。可以显示HSB、RGB、LAB和CMYK 色彩空间的每一种颜色的色彩值。 Lab 颜色空间 Lab颜色空间是由CIE(国际照明委员会)制定的一种色彩模式。自然界中任何一点色都可以在Lab空间中表达出来,它的色彩空间比RGB空间还要大。另外,这种模式是以数字化方式来描述人的视觉感应,与设备无关,所以它弥补了RGB和 CMYK模式必须依赖于设备色彩特性的不足。由于Lab的色彩空间要比RGB模式和CMYK模式的色彩空间大

opencv基础入门——色彩空间

江枫思渺然 提交于 2019-12-25 03:55:22
参考教程: python+opencv3.3视频教学 基础入门-bilibili 颜色空间 - 911的专栏 几种颜色模型介绍 - 简书 从 RGB 到 HSV 的转换详细介绍 - hanshanbuleng的博客 一、定义 色彩通常用三个相对独立的属性来描述,三个独立变量综合作用,自然就构成一个 空间坐标 ,这就是 色彩空间(色彩模型) 。 二、常见色彩空间 色彩可以由不同的角度,用三个一组的不同属性加以描述,就产生了不同的色彩空间。 最常见的几种色彩空间有: RGB 用于扫描仪和显示设备 、计算机系统 CMYK 用于打印机、印刷出版业 YUV/YIQ 用于视频和电视 HIS/HSB/HSV/HSL CIE 颜色空间,包括:CIE XYZ,CIE Lab,CIE YUV等颜色空间 1.RGB 一个能发出光波的物体称为有源物体,它的颜色由该物体发出的光波决定,使用R GB相加混合模型(additive color) 。 国际照明委员会(CIE)规定以 700nm(红)、546.1nm (绿)、435.8nm (蓝)三个色光为三基色 。又称为 物理三基色 。自然界的所有颜色都可以通过选用这三基色按不同比例混合而成。 计算机彩色显示器的输入需要RGB三个彩色分量,通过三个分量的不同比例,在显示屏幕上合成所需要的任意颜色。RGB颜色空间的三个分量又称为三个通道,R、G

OpenCV学习笔记(5)――颜色空间转换

匿名 (未验证) 提交于 2019-12-03 00:40:02
学习如歌对图像进行颜色空间转换,从BGR到灰度图,或者从BGR到HSV等 创建一个程序用来从一幅图像中获取某个特定颜色的物体 1.转换颜色空间   OpenCV中有超过150种进行颜色空间转化的方法,但是实际上经常用到的也就两种:BGR<->Gray,BGR<->HSV   要用的函数是cv2.cvtColor(input_img,flag)flag就是转换类型   cv2.COLOR_BGR2GRAY 就是BGR<->Gray转换   cv2.COLOR_BGR2HSV 就是BGR<->HSV的转化 (介绍一下HSV格式,H指色彩/色度,取值[0,179],S是饱和度[0,255],V是亮度[0,255]。不同软件使用的值可能不同,所以当需要拿OpenCV的HSV值与别的软件的HSV值进行对比时要注意归一化) 也可以用一下代码获得所有可用的flag import cv2 flags = [i for i in dir(cv2) if i.startswith( ‘COLOR_‘)] print(flags) 2.实现物体的跟踪   在知道如何将BGR转换到HSV后,就可以利用这一点来提取带有某个特定颜色的物体。在HSV的颜色空间中要比BGR空间中个更容易表示某一个特定颜色。我们先尝试提取一个蓝色的物体,步骤如下: 从视频中获取每一帧图像 将图像转化到HSV空间

CIE XYZ

匿名 (未验证) 提交于 2019-12-03 00:00:02
了解CIE XYZ的来龙去脉,看维基之前,先读这两篇文章: https://medium.com/hipster-color-science/a-beginners-guide-to-colorimetry-401f1830b65a A Beginner’s Guide to (CIE) Colormetry, 和 http://graphics.stanford.edu/courses/cs148-10-summer/docs/2010--kerr--cie_xyz.pdf The CIE XYZ and xyY Color Spaces 看完上述文章后,在看中文维基应该不会有任何困难了: https://zh.wikipedia.org/wiki/CIE1931%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4 然后可以看英文维基的补充: https://en.wikipedia.org/wiki/CIE_1931_color_space 一、LMS色彩空间 在明亮环境中人眼对420~440nm(短波S,对应蓝)、530~540nm(中波M,对应绿)以及560~580nm(长波L,对应红)的光波反应最敏感。用LMS描述的色彩空间即为LMS色彩空间。 二、色彩空间与三色刺激值 色彩空间需要先定义三种主要颜色primary color,在利用颜色叠见的模型

OpenCV---如何在RGB和HSV色彩空间之间转换(8)

匿名 (未验证) 提交于 2019-12-02 23:03:14
代码如下: import cv2 as cv import numpy as np def color(): src = cv.imread("D:/matplotlib/0.jpg") cv.imshow("rgbimage",src) hsv = cv.cvtColor(src,cv.COLOR_BGR2HSV) cv.imshow("hsvimage",hsv) cv.waitKey(0) cv.destroyAllWindows() color() 运行结果: 代码解释: import cv2 as cv import numpy as np def color(): #色彩空间的转换 src = cv.imread("D:/matplotlib/0.jpg") cv.imshow("rgbimage",src) hsv = cv.cvtColor(src,cv.COLOR_BGR2HSV) #通过hsv色彩通道读取图片 cv.imshow("hsvimage",hsv) cv.waitKey(0) cv.destroyAllWindows() color() 文章来源: OpenCV---如何在RGB和HSV色彩空间之间转换(8)