精华内容
下载资源
问答
  • 概述本文章会详细的介绍RGB颜色空间与RGB三色中色调、饱和度、亮度之间的关系,最后会介绍HSV颜色空间!一.RGB颜色空间1.起源RGB三原色起源于上世纪初1809年ThomasYoung提出视觉的三原色学说,随后Helmholtz在1824...

    一.概述

    本文章会详细的介绍RGB颜色空间与RGB三色中色调、饱和度、亮度之间的关系,最后会介绍HSV颜色空间!

     

    一.RGB颜色空间

    1. 起源

       RGB三原色起源于上世纪初1809Thomas Young提出视觉的三原色学说,随后Helmholtz1824年也提出了三原色学说即:视网膜存在三种视锥细胞,分别含有对红、绿、蓝三种光线敏感的视色素,当一定波长的光线作用于视网膜时,以一定的比例使三种视锥细胞分别产生不同程度的兴奋,这样的信息传至大脑中枢,就产生某一种颜色的感觉。

    在显示器发明之后,从黑白显示器发展到彩色显示器,人们开始使用发出不同颜色的光的荧光粉(CRT,等离子体显示器),或者不同颜色的滤色片(LCD),或者不同颜色的半导体发光器件(OLED和LED大型全彩显示牌)来形成色彩,无一例外的选择了Red,Green,Blue这3种颜色的发光体作为基本的发光单元。通过控制他们发光强度,组合出了人眼睛能够感受到的大多数的自然色彩。         

    计算机显示彩色图像的时候也不例外,最终显示的时候,要控制一个像素中Red,Green,Blue的值,来确定这个像素的颜色。计算机中无法模拟连续的存储从最暗到最亮的量值,而只能以数字的方式表示。于是,结合人眼睛的敏感程度,使用3个字节(3*8位)来分别表示一个像素里面的Red,Green 和Blue的发光强度数值,这就是常见的RGB格式。我们可以打开画图板,在自定义颜色工具框中,输入r,g,b值,得到不同的颜色。

    2. 概述

    RGB颜色空间以R(Red:红)、G(Green:绿)、B(Blue:蓝)三种基本色为基础,进行不同程度的叠加,产生丰富而广泛的颜色,所以俗称三基色模式。

    RGB空间是生活中最常用的一个颜色显示模型,电视机、电脑的CRT显示器等大部分都是采用这种模型。自然界中的任何一种颜色都可以由红、绿、蓝三种色光混合而成,现实生活中人们见到的颜色大多是混合而成的色彩。

    肉眼可以识别世界上的所有颜色,而RGB几乎可以组合成世界上所有的颜色!

    2. RGB颜色范围

    RGB的每个元素在计算机内存中占用1个字节,1个字节等于8个bit位,所以RGB每个元素的取值范围为:0~256(2的8次方)(从2开始算次方我个人觉得是因为bit位,因为一个bit位可以表示两种状态)

    那么三色组合起来256x256x256=16777216(一千六百七十七万七千二百一十六)种颜色,这么多的颜色几乎可以覆盖世界上所有的颜色!所以平常电视机、电脑屏幕、任何显示仪器都会通过这种RGB颜色空间来显示!

    3. 组合方法

    组合方法是通过互补光的形式来组合成任意颜色的

    例如:

    红色 + 绿色 = 黄色

    如图:

     

    红色 + 绿色 +蓝色 = 白色

    如图:

     

    你也可以调整RGB某一元素的色值来达到不同的颜色组合!

     

    3. RGBA

    RGBA(Alpha),A用于描述三原色的透明度!

    例如:

     

    4. RGB文件存储类型

    RGB色彩空间根据每个分量在计算机中占用的存储字节数分为如下几种类型:

    (1)RGB555

    RGB555是一种16位的RGB格式,各分量都用5位表示,剩下的一位不用。

    高字节 -> 低字节(根据内存大小端)

    XRRRRRGGGGGBBBBB(X代表不用)

    (2)RGB565

    RGB565也是一种16位的RGB格式,但是R占用5位,G占用6位,B占用5位。

    (3)RGB24

    RGB24是一种24位的RGB格式,各分量占用8位,取值范围为0-255。

    (4)RGB32

    RGB32是一种32位的RGB格式,各分量占用8位,剩下的8位作Alpha通道或者不用。

    (5)RGB222

    RGB222是一种8位的RGB格式,各分量占用2bit位,剩下的2bit位不用!

    注意这种格式一般用于灰度图,现在的CRT(阴极射线管)都是彩色RGB模型的CRT,所以在显示灰度图时都是放射RGB颜色模板(荧光粉)来做到显示颜色的,也就是说每个像素点上的荧光粉有三个RGB,所以显示灰度图时也就是单通道的图片时,是通过混合RGB来达到灰度色的!

    还有RGB232,RGB332,RGB233,...

    早期的CRT只能显示黑白照是因为工业水平有限,注意也不一定是黑白色,也有可能是单色,如红色,暗红,紫色,暗紫,只能显示一种颜色!

    5.单通道与多通道

     单通道:

    俗称灰度图,每个像素点只能有一个值表示颜色,它的像素值在0到255之间,0是黑色,255是白色,中间值是一些不同等级的灰色,可以说灰度是黑与白之间的过渡色!

    注意这个值不是RGB里的任何一个元素,显示设备是直接通过CRT(彩色阴极射线显像管)将单通道里的像素值显示黑白色图像,值越高黑色图越亮,一般灰度值大小不会超过125!

    多通道:

    多通道也就是RGB三原色,每个像素点有三个字节来表示(RGB),分别最大取值范围是0-255,可以组合成千万种颜色。

    图像处理优势对比:

    单通道往往应用于图像处理,因为单通道只有一个像素点(一个字节),所以相比多通道三个字节,处理速度上要尤为的快!

    而且单通道能将图像以灰度形式显示出来,不会影响图像识别,和特征提取!

    多通道以原图的形式将图像展示出来,所以可以提取特征很多,识别率高!

    例如:

     

    多通道也可以组合成灰度图,上面说过,红+绿+蓝=白色,注意这里补充一下,只有在三色相等时才会组合成白色!

     

    例如:

     

    想要达到灰度只要将RGB三色调低一点就可以达到!

    例如:

     

    但是当某一方的值不相同时就会产生其他颜色。

     

    所以三通道想要组合成黑白色(灰度)必须三原色值相同。

    也就是说灰度图不一定是单通道,但是单通道一定是灰度图!

     

    三. 色调、饱和度、亮度

    色调(色相):

      彩色图片中,色调决定彩色图片更加偏于哪一方!

    列如:

     

    我们修改一下色调

    当把色调调低时,颜色更加偏向于红色

     

    当我们把色调调高一点时,颜色更加偏向于绿色

     

    当颜色在调高一点时,颜色更加偏向于蓝色

     

    所以由此可以得出色调是决定一个像素点中的颜色更偏向于哪一方(RGB)

     

    2. 饱和度

    饱和度决定了颜色空间中颜色分量,饱和度越高,说明颜色越深,饱和度越低,说明颜色越浅!

    如图:

    当饱和度为55时,可以发现该颜色空间能显示的颜色分量非常低

     

    当我把饱和度调高一点时,可以发现颜色分量显示的明显要深!

     

    可以与上图形成鲜明的对比。

     

    所以饱和度在颜色空间中是起到一个控制RGB组合色的颜色深度的作用。

     

    3.亮度

     亮度决定颜色空间中颜色的明暗程度!

    如图,亮度设置比较高的时候会发现颜色显示的较为鲜艳

     

    当我们把亮度调低一点时

    会发现颜色会变得非常暗!

     

    所以亮度在颜色空间中起到一个控制RGB组合色的明暗程度的作用。

    下面有个答案是我在知乎上看到的觉得非常适合描述色调(色相)、饱和度、亮度与颜色空间的关系:

     

    1. 明度为0的时候,只有一个点,只能是黑色。没有光,啥都看不见。
    后面我们要让明度是某个不为零的值,才好谈下去。基于这个条件,
    2. 纯度为0的时候,只有一条线,只能是黑白的。没有对比度,就没有彩色。

    3. 纯度也不为0了,才可能出现彩色,至于到底是哪一种颜色,就要看色度了。

     

    不知道大家有没有发现,无论你怎么修改色调,饱和度,亮度,RGB三色值会跟随而变化,其实色调,饱和度,亮度都是通过特定的算法经过计算修改RGB三色而达到的控制颜色效果!

     

    本栏属于图像理论知识不提供任何实践代码!

     

     

    四. HSV颜色空间 (部分地方是参考他人博客的文章,然后根据自己的理解写出来的!)

    1. 起源

    HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。

     

    这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。

    2. HSV颜色模型介绍

    2.1色调H(Hue

    用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°0°-  359°时颜色会依次变换当角度到达360°时也就是红色,角度也就又回到0°了,所以总共为360°,每变换1°时,色相就会有轻微的变化!如果是顺时针的话这个变换过程会从红色逐渐变换到绿色,在由绿色逐渐变换到蓝色,在由蓝色逐渐变换到红色!逆时针的话就是相反的!

     

    2. 2饱和度 S(Saturation

    饱和度S表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例愈大,颜色接近光谱色的程度就愈高,颜色的饱和度也就愈高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0%~100%,值越大,颜色越饱和。

     

    2.3明度V(Value

    明度表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;通常取值范围为0%(黑)到100%(白)。

     

    2.4模型分析:

     

    H参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别相隔120度。HSV中每一种颜色的互补色分别相差180度。意思就是说:两种颜色在互补时最大为180°

    例如:

    在HSV模型中红与绿的互补色为黄色,其角度为60°

     

    绿色与蓝色的互补光为青色其角度也为60°

     

    蓝色与红色的互补光为品红色其角度也为60°

     

    那么按逆反的方向来算,绿色到红色的互补光为60°

     

    蓝色到绿色的互补光也为60°

     

    红色到蓝色的互补光也为60°

     

    所以通过以上知识可以知道,红色到到绿色之间的互补光为60°,而绿色到红色之间的互补光也为60°所以每一种颜色的色差是:60°+  60°=  160°

     

    互补光的色差在HSV颜色模型中是这样来算的!

    纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率。S=0时,只有灰度。

    V表示色彩的明亮程度,范围从0到1。有一点要注意:它和光强度之间并没有直接的联系。 

    2.5 HSV颜色分析

    HSV对用户来说是一种直观的颜色模型。我们可以从一种纯色彩开始,即指定色彩角H,并让V=S=1,然后我们可以通过向其中加入黑色和白色来得到我们需要的颜色。增加黑色可以减小V而S不变,同样增加白色可以减小S而V不变。例如,要得到深蓝色,V=0.4 S=1 H=240度。要得到浅蓝色,V=1 S=0.4 H=240度。

     

    如图:

     

     一般说来,人眼最大能区分128种不同的色彩,130种色饱和度,23种明暗度。如果我们用16Bit表示HSV的话,可以用7位存放H,4位存放S,5位存放V,即745或者655就可以满足我们的需要了。

     

    由于HSV是一种比较直观的颜色模型,所以在许多图像编辑工具中应用比较广泛,如Photoshop(在Photoshop中叫HSB)等等,但这也决定了它不适合使用在光照模型中,许多光线混合运算、光强运算等都无法直接使用HSV来实现

     

    RGB颜色空间更加面向于工业,而HSV更加面向于用户,大多数做图像识别这一块的都会运用HSV颜色空间,因为HSV颜色空间表达起来更加直观!

     

     

     

     

     

     

    展开全文
  • Linux 查看磁盘空间

    万次阅读 2020-11-04 10:55:06
    Linux 查看磁盘空间可以使用 df 和 du 命令。 df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 例如,我们使用df -h命令来查看磁盘信息, -h 选项为根据大小适当显示...

    Linux 查看磁盘空间可以使用 df 和 du 命令。

    df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 例如,我们使用df -h命令来查看磁盘信息,
    -h 选项为根据大小适当显示:
    在这里插入图片描述

    显示内容参数说明:

    • Filesystem:文件系统
    • Size: 分区大小
    • Used: 已使用容量
    • Avail: 还可以使用的容量
    • Use%: 已用百分比
    • Mounted on: 挂载点

    相关命令:

    • df -hl:查看磁盘剩余空间
    • df -h:查看每个根路径的分区大小
    • du -sh [目录名]:返回该目录的大小
    • du -sm [文件夹]:返回该文件夹总M数
    • du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)

    du命令

    du 的英文原义为 disk usage,含义为显示磁盘空间的使用情况,用于查看当前目录的总大小。

    例如查看当前目录下的各文件大小:du -sh *
    在这里插入图片描述
    du 命令用于查看当前目录的总大小:

    • -s:对每个Names参数只给出占用的数据块总数。
    • -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
    • -b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。
    • -k:以1024字节为单位列出磁盘空间使用情况。
    • -c:最后再加上一个总计(系统默认设置)。
    • -l:计算所有的文件大小,对硬链接文件,则计算多次。
    • -x:跳过在不同文件系统上的目录不予统计。
    • -h:以K,M,G为单位,提高信息的可读性
    展开全文
  • 如何清理Linux服务器磁盘空间

    万次阅读 多人点赞 2018-04-04 18:17:28
    一看,原来是磁盘空间被占满啦,那么,怎么清理呢。介绍如下:df -h ,这个命令用于查看服务器空间,运行后的效果图如下:可以看到,还剩余8G可用。du -h --max-depth=1,这个命令用于查看当前目录,哪个文件占用...

    有时候,服务突然挂了,再次启动却启动不了。一看,原来是磁盘空间被占满啦,那么,怎么清理呢。介绍如下:

    df -h ,这个命令用于查看服务器空间,运行后的效果图如下:

    可以看到,还剩余8G可用。

     

    du -h --max-depth=1,这个命令用于查看当前目录,哪个文件占用最大,运行效果如下:

    可以看到,iov那个目录占用的空间比较大,20G。

    除此之外,du -sh *,这个命令也用于查看当前目录下各文件及文件夹占用大小,运行效果如下:

    可以看到,iov那个目录占用的空间比较大,12G。

    进入iov目录,反复执行上面的查看命令,一路跟进,找到各个目录占用空间比较多的文件,无用的可删除。

    可以看到,这个nohup.out 日志文件占用比较多(1.9G),现在把他置空。

    可使用命令:cp /dev/null nohup.out,清除后,再次查看,果然占用变少了(696K)。

     

    那么,如果占用空间的不是nohup.out文件怎么清理呢?

    很简单,使用普通的删除命令即可。

    删除命令:rm [选项] 文件或目录  

     

    选项说明:

    -f    -force      忽略不存在的文件,强制删除,无任何提示

    -i    --interactive    进行交互式地删除

    -r | -R  --recursive     递归式地删除列出的目录下的所有目录和文件

    -v      --verbose    详细显示进行的步骤

    命令实例:

    1、删除a.txt文件

    rm -rf a.txt

    2、删除mplogs目录

    rm -rf mplogs

     

    这里我们使用示例2进行删除,效果如下:

     

    清理了一些后,回到根目录,占用已经变少了。

     

    欢迎关注微信公众号(Java修炼记):

    专注Java技术积累,免费分享Java技术干货、学习笔记、学习资料等,致力于让这里成为一个java知识小站。

    扫码关注,回复“Java面试”获取大厂面试题及解析

    展开全文
  • Linux查询磁盘空间命令

    万次阅读 2020-09-30 10:39:50
    1.总览 df -lh 2.查询具体目录占用空间 du -sh 目录

    1.总览 df -lh

    2.查询具体目录占用空间 du -sh 目录

    展开全文
  • 公告:CSDN新版个人空间上线公测

    万次阅读 多人点赞 2012-03-23 18:16:22
    各位尊敬的CSDN用户:   你们好!   经过近两个月的研发,CSDN新版...之后三个月内,新版个人空间首页仍会保留旧版空间入口,用户仍然可以访问旧版空间,但不能在旧版空间进行发布操作。   本次个人空间改版过
  • GIS空间索引

    万次阅读 2020-03-11 12:02:02
    在GIS系统中,空间索引技术就是通过更加有效的组织方式,抽取与空间定位相关的信息组成对原空间数据的索引,以较小的数据量管理大量数据的查询,从而提高空间查询的效率和空间定位的准确性。 常见的GIS空间索引 KD...
  • 算法的时间与空间复杂度(一看就懂)

    万次阅读 多人点赞 2018-11-21 11:17:45
    算法(Algorithm)是指用来操作数据、...主要还是从算法所占用的「时间」和「空间」两个维度去考量。 时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。 空间维度:是指执行当前算...
  • 空间相关分析(一) 空间权重矩阵

    万次阅读 多人点赞 2020-04-28 09:54:18
       ...今天来介绍一下空间相关分析的第一步——空间权重矩阵的创建。 目录定义介绍Geoda创建空间权重矩阵Arcgis创建空间权重矩阵 定义介绍       &n...
  • 输入空间、输出空间、特征空间与假设空间是监督学习中的基本概念,我把它们放到一起方便记忆。 输入空间(input space):输入所有可能取值的集合 输出空间(output space):输出所有可能取值的集合 输入与输出空间...
  • 但是这样做是不对的,因为如果说对于类似“欧几里何空间”这样的空间,跟我们生活中的三维空间极为相似,我们确实可以想象到一个具体的例子,但是对于类似“希尔伯特空间”之类的,我们很难用一个具体的实例来印证。...
  • 欧几里得空间与希尔伯特空间

    万次阅读 多人点赞 2018-07-27 13:09:15
     ... 多年以前学信号与系统的时候就听说过希尔伯特空间,但是一直不清楚这究竟是个什么东西,然而它却老是时不时在你学得最欢的时候冒出来搞得人一头雾水,于是今天专
  • C++ 命名空间,也有叫名称空间

    千次阅读 2020-12-06 23:10:29
    为了避免在大规模程序设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好地控制标识符的作用域。 std是c++标准命名...
  • 本文详细讲解空间统计分析:空间权重矩阵、全局空间自相关、局部空间自相关三种方法的原理、应用案例。
  • 向量空间与线性子空间

    千次阅读 2018-10-30 17:33:03
    向量空间是线性代数研究的基本对象,它是一个集合。在该集合内,可以做向量的加法(两个向量相加仍然在该集合中),向量与标量的乘法,并且改加法与乘法还满足八个公理。具体可参见维基百科:...
  • 内核地址空间和用户地址空间

    千次阅读 2020-08-28 22:27:51
    Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在...
  • 简单说明数学中的各种空间概念
  • 赋范空间,度量空间,线性赋范空间,线性度量空间,希尔伯特空间, 巴拿赫空间,拓扑空间如何不被他们吓到?函数空间一、问题的提出在微积分中可以定义极限和连续,依赖于距离 那么,什么是距离呢? 通俗的看法,...
  • PCIe架构下定义了4中地址空间:Memory空间、IO空间、配置空间和message空间。 我们先看一下PCIe spec关于这四种空间的定义: (1)配置空间 Configuration Space One of the four address spaces within the PCI ...
  • ArcGIS空间统计-局部空间自相关

    千次阅读 2020-08-07 15:02:49
    4.寻找可能存在的与全局空间自相关的结论不一致的局部空间自相关的位置,如全局空间自相关分析结论为正全局空间自相关,分析是否存在有少量的负局部空间自相关的空间位置 点击后弹出 参数设置: 输入要素类
  • Linux用户空间和内核空间

    万次阅读 2019-01-31 21:07:21
    一、用户空间和内核空间 现在操作系统都是采用虚拟存储器,对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。为保证内核的安全,用户进程是不能直接操作内核的,所以Linux将虚拟空间划分为两...
  • 空间数据库之空间索引

    千次阅读 2017-12-15 18:11:37
    空间数据库 空间索引 网格索引 四叉树索引 R树索引 金字塔索引 空间查询效率
  • 空间复杂度

    千次阅读 多人点赞 2019-05-10 18:15:52
    空间复杂度是对一个算法在运行过程中临时占用存储空间大小的一个量度,我们用 S(n) 来定义。 计算方法 1. 空间复杂度 O(1) 如果算法执行所需要的临时空间不随着某个变量n的大小而变化,即此算法空间复杂度为一个常量...
  • 白话空间统计之:空间自相关

    万次阅读 多人点赞 2015-07-27 21:58:05
    空间自相关,肯定是空间统计里面第一个拦路虎了,很多人遇上了这个高大上的词汇,立刻就发现,这五个字我好像都认识,但是到底说了啥?不知道。如果翻开各种教材,从统计学到数学到物理学,各种解释都摆出了一副...
  • Linux的用户空间与内核空间

    万次阅读 多人点赞 2018-09-03 10:51:23
    两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。用户空间的内存映射采用段页式,而内核空间有自己的规则;...
  • 在数学中有许多空间表示,比如向量空间、内积空间、欧式空间以及希尔伯特空间等。 1、距离的定义 具体的距离:实际上距离除了我们经常用到的直线距离外,还有向量距离, 函数距离、 曲面距离、折线距离等等,...
  • 新版白话空间统计(2):空间自相关

    千次阅读 多人点赞 2020-02-06 09:45:12
    空间自相关是学习空间统计学课程中的第一个拦路虎,据虾神所知,很多初学空间统计学的同学,在遇上这个词汇的时候,就准备放弃这一门本来可以很有意思的课程了。因为大家发现“空间自相关”这五个字,...
  • 在学习机器学习的同学如果对SVM中的核函数进行深究,一定会见到再生核希尔伯特空间(RKHS)这个概念,其他理工科的同学往往也会在书中遇到希尔伯特空间这样的字眼,还有什么巴拿赫空间、赋范线性空间等等。...
  • 时间复杂度和空间复杂度的简单讲解

    万次阅读 多人点赞 2018-01-07 12:55:26
    一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。 把今年很流行,淡淡的基佬紫送给各位看官,原谅绿就算了,怕被打死。 文章最后,举例使用二分查找和斐波那契的递归和迭代方法,...
  • 空间

    千次阅读 2019-05-09 17:15:03
    在数学与物理学中,相空间是一个用以表示出一系统所有可能状态的空间;系统每个可能的状态都有一相对应的相空间的点。 相空间是一个六维假想空间,其中动量和空间各占三维。每个相格投影到px-x平面上后面积总是h。...
  • 伽马空间与线性空间

    千次阅读 2016-12-01 16:44:59
    随着真实性更高的基于物理渲染(PBR)的到来,线性空间(Linear space)光照计算也越来越被经常提及。虽然线性空间和与之“对立”的伽马空间(gamma space)是简单而重要的概念,但很多开发者对它们的真正意义并不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 983,421
精华内容 393,368
关键字:

空间