颜色模型

视频监控之颜色模型——RGB、HSV模型

∥☆過路亽.° 提交于 2020-01-07 12:35:40
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 目前常用的颜色模型可分为两类,一类面向诸如彩色显示器或打印机之类的硬件设备,另一类面向以彩色处理为目的的应用,如动画中的彩色图形。面向硬件设备的最常用彩色模型是 RGB 模型,而面向彩色处理的最常用的模型是 HSV 模型,其中 H表示色调(Hue),S 表示饱和度(Saturation),V 表示亮度(Value)。 RGB颜色模型 RGB 颜色模型由红、绿、蓝三种基色组成,它大多用于 CRT 显示器和颜色光栅图形。这个模型基于笛卡儿坐标系统,3 个轴分别为 R,G,B。通过红、绿、蓝三种基色可以混合得到大多数的颜色。如下图所示: 坐标原点代表(0,0,0)黑色,而坐标点(1,1,1)代表白色。坐标轴上的顶点代表三个基色,而余下的顶点则代表第一个基色的补色。为方便表示,将立方体归一化为单位立方体,这样所有的 R,G,B 的值都在[0,1]中。根据这个模型,每幅彩色图像包括3个独立的基色平面,或者说可分解到 3 个平面上。反过来如果一幅图像可被表示为 3个平面,使用这个模型比较方便。 HSV颜色模型 在 HSV 模型中,亮度(V)是光作用于人眼时所引起的明亮程度的感觉,它与被观察物体的发光强度有关。色调(H)是当人眼看到一种或多种波长的光时所产生的彩色感觉,它反映颜色的种类,是决定颜色的基本特性,如红色

colorsys模块颜色模型转换

℡╲_俬逩灬. 提交于 2019-12-26 20:10:10
colorsys模块颜色模型转换 colorsys模块用于RGB和YIQ/HLS/HSV颜色模式的双向转换 colorsys.rgb_to_yiq(r, g, b) colorsys.rgb_to_hls(r, g, b) colorsys.rgb_to_hsv(r, g, b) colorsys.yiq_to_rgb(y, i, q) colorsys.hls_to_rgb(h, l, s) colorsys.hsv_to_rgb(h, s, v) 其中除了i,q之外的其他参数取值都是在[0, 1]范围内的浮点数。RGB参数需要除以255。 RGB RGB是一种相加色,根据红绿蓝三种光的相互叠加来显示不同的颜色,RGB三个字母分别代表红色Red、绿色Green和蓝色Blue。像素的颜色就是由这三个发光管的亮度决定的。 HSV HSV也就是HSB,分别代表色相Hue,饱和度Saturation和明度Value(Brightness)。 HLS HLS 也就是HSL,分别代表色相Hue,亮度Lightness和饱和度Saturation。 YIQ YIQ颜色模型使用亮度Luminance和色度Chrominance来表示颜色。用一组坐标来表示颜色的变化,Q表示了颜色色调由紫到绿的变化,I表示了颜色色调由橙到蓝的变化。 来源: CSDN 作者: kakak_ 链接: https:/

盒子模型

只愿长相守 提交于 2019-12-23 00:53:01
认识盒子模型 每个矩形都有元素的内容、内边距(padding)、边框(border)、外边距(margin)组成。 (1)网页是有多个盒子嵌套排列的结果。 (2)内边距出现在内容区域的周围,当给元素添加背景色或背景图像时,该元素的背景色或背景图像也将出现在内边距中。 (3)外边距是该元素与相邻元素之间的距离,如果给元素定义边框属性,边框将出现在内边距和外边距之间。 (4)虽然盒子模型拥有内边距、边距、外边距、宽和高这些基本属性,但是并不要求每个元素都必须定义这些元素。 边框属性 设置内容 样式属性 常用属性值 上边框 border-top-style:样式; border -top-width:宽度; border-top-color:颜色; bordet-top:宽度 样式 颜色 ; 下边框 border-bottom-style:样式; border-bottom-width:宽度; border-bottom-color:颜色; border-bottom:宽度 样式 颜色; 左边框 border-left-style:样式; border-left-width:宽度; border-left-color:颜色; border-left:宽度 样式 颜色; 右边框 border-right-style:样式; border-right-width:宽度; border

opencv HSV 颜色模型(H通道取值 && CV_BGR2HSV_FULL与CV_BGR2HSV的区别)

北城以北 提交于 2019-12-16 17:41:08
利用opencv把RGB图片像HSV颜色空间转变(CV_BGR2HSV)的时候, H通道的值范围为: 0-180 S: 0-255 V:0-255 利用直方图显示三个通道的时候,H通道都集中在前半部分,想让它取值范围扩大~~~~~~~ 后来发现了 CV_BGR2HSV_FULL , CV_BGR2HSV 在转换图像的时候是将 H / 2 ---> H ,我们知道图像中色相H的取值范围为 0-360 ,所以利用opencv转换之后得到的H的范围为 0-180 而 CV_BGR2HSV_FULL 实现的映射是 H * 255 / 360 --->H , 所以利用_FULL 这个转换得到的H通道图像的范围为 0-255 这两种方式都是opencv把[0-360] 的数据压缩到一个字节可以处理的数据。[ 所以这里说的图像的depth = 8, 刚好能表示的最大值是 255] 上面说的图像的 depth = 8, 如果你的图像 位深不是 8位,比如 32 位, 那么你就可以得到 [0, 360] 表示的 H通道图像了。 实际上, HSV颜色模型规定的各通道取值范围为: H : 0-360 S:0-1 V: 0-1 可以利用 CV_BGR2HSV 得到的 H S V 的  S V /255 转换得到。 对于同一幅图片: 采用CV_BGR2HSV得到的 h s v 三个通道的 直方图分布如下:

从2-3-4树模型到红黑树实现

只谈情不闲聊 提交于 2019-12-06 06:26:32
目录 从2-3-4树模型到红黑树实现 前言 2-3-4树 查找 插入 树的生长 删除 左倾红黑树 查找 插入 删除 总结 参考文献 从2-3-4树模型到红黑树实现 前言 红黑树,是一个高效的二叉查找树。其定义特性保证了树的路径长度在黑色节点上完美平衡,使得其查找效率接近于完美平衡的二叉树。 但是红黑树的实现逻辑很复杂,各种旋转,颜色变化,直接针对其分析,大多数都是死记硬背各种例子,不太容易有个直观的理解。实际上,红黑树是实现手段,是其他概念模型为了方便在二叉树上实现进而定义的节点颜色这个信息。如果从概念模型入手,再一一对应,就容易理解的多了。而红黑树能够对应的模型有2-3树,2-3-4树等,下面我们会以2-3-4树作为概念模型,对红黑树进行分析。 2-3-4树 2-3-4树是对完美平衡二叉树的扩展,其定义为: 在一个节点中,可以存在1-3个 key 。 2-节点,拥有1个 key 和2个子节点。 3-节点,拥有2个 key 和3个子节点。 4-节点,拥有3个 key 和4个子节点。 子节点为空的节点称为叶子节点。 任意从根节点到叶子节点的路径拥有相同的长度,即路径上的链接数相同。 下图就是一个2-3-4树: 查找 2-3-4树的查找很简单,类似于二叉树,步骤如下: 将查找 key 和节点内的 key 逐一对比。 如果命中,则返回节点内 key 的对应值。 如果节点内的 key

HSV颜色相似度

久未见 提交于 2019-12-04 01:34:37
一般对颜色空间的图像进行有效处理都是在 HSV 空间进行的,然后对于基本色中对应的 HSV 分量需要给定一个严格的范围,下面是通过实验计算的模糊范围(准确的范围在网上都没有给出)。 H: 0 — 180 S: 0 — 255 V: 0 — 255 此处把部分红色归为紫色范围: 目前在计算机视觉领域存在着较多类型的颜色空间(color space)。HSL和HSV是两种最常见的圆柱坐标表示的颜色模型,它重新影射了RGB模型,从而能够视觉上比RGB模型更具有视觉直观性。 HSV颜色空间 HSV(hue,saturation,value)颜色空间的模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1. 它包含RGB模型中的R=1,G=1,B=1 三个面,所代表的颜色较亮。色彩H由绕V轴的旋转角给定。红色对应于 角度0° ,绿色对应于角度120°,蓝色对应于角度240°。在HSV颜色模型中,每一种颜色和它的补色相差180° 。 饱和度S取值从0到1,所以圆锥顶面的半径为1。HSV颜色模型所代表的颜色域是CIE色度图的一个子集,这个 模型中饱和度为百分之百的颜色,其纯度一般小于百分之百。在圆锥的顶点(即原点)处,V=0,H和S无定义, 代表黑色。圆锥的顶面中心处S=0,V=1,H无定义,代表白色。从该点到原点代表亮度渐暗的灰色,即具有不同 灰度的灰色。对于这些点,S=0

Unity Shader 基础教程

耗尽温柔 提交于 2019-12-03 16:08:27
Unity-Shader-基础教程 在Github上看到一篇关于Unity-Shader的教程,感觉还不错,作者写的很好,很适合Unity-Shader的基础入门,我在这里翻译一下,分享给大家,英文水平很烂,大致能明白Unity-Shader是什么,渲染管线的工作流程,以及Unity Shader的一些类型和怎样编写Unity Shader。 ( 原文链接 ) 第一部分:什么是Shader? Shader是计算机图形渲染管线的一部分,它是一小段应用程序,告诉计算机在场景中怎样对物体渲染和着色。这个过程包括计算颜色和光照值,并将其给予对象,以至于对象被显示在屏幕上。和上面一样,Shader也被用来创建游戏中的一些特殊的和后期处理效果。 在现代游戏引擎中(包括Unity),Shader运行在可编程的GPU渲染管道中,在GPU中允许并行运行,并且能够很快速的进行许多着色计算。 第二部分:渲染管道 为了学习Shader,我们将简单的了解渲染管道,我们将在本教程中讨论下面这张图片: 我更加倾向把Shader看做是由一种信息类型(模型数据、颜色等等)到另外一种信息类型(像素/片元)的变换,对象数据继承与对象本身,例如模型中的点、法线、三角形、UV坐标等等。我们可以把自定义数据/传递到shader中使用,颜色、纹理、数字等等这些。 着色器流水线的第一步是顶点函数。正如你所知的,顶点就是一些点

基于RGB颜色模型的图像提取与二值化

匿名 (未验证) 提交于 2019-12-03 00:13:02
  现实中我们要处理的往往是RGB彩色图像。对其主要通过HSI转换、分量色差等技术来提出目标。 RGB分量灰度化:   RGB可以分为R、G、B三分量。当R=G=B即为灰度图像,很多时候为了方便,会直接利用某个分量来进行灰度化,如下图所示:     上图中R分量下红色部分明显比其他两幅更偏白;同样地G分量草地较淡,B分量天空较淡。其他部分如灰黑色马路则相差不多。实际中,我们可以根据   需求有选择地选择分量。 RGB分量差灰度化:    有时候我们的要求是从图像中提取某种颜色区域,那么最简单的方法就是采用RGB色差。   例如在花束中提取红色的花瓣,就可以采用R-G分量差(目标为红色,干扰为G分量),或者,在土壤表面提取绿色秧苗,可以采用G-R-B分量差(G占2份,土壤可能   存在R,B分量干扰),下图为提取结果:      如果遇到更复杂的情况,可以根据目标颜色与干扰颜色设计合适的分量差。    HSI分量灰度化:     H、S、I分别表示色调、饱和度、明度。色调指日常所说的颜色(红,白,黑等),饱和度则表示颜色的鲜艳程度,值越大越鲜艳,明度则是颜色的明亮   程度。这三种属性可以用两个椎体表示,其中明度是竖直中心轴,在竖直方向上,明度不同;每个明度对应一个横截面,用极坐标表示H,S,H为角度,S为模长。   HSI模型如图所示:      我们可以将RGB转为HSI

CSS边距---盒子模型

青春壹個敷衍的年華 提交于 2019-11-29 15:35:32
CSS盒子模型 盒子模型主要是有margin(外边距)、border(边框)、padding(内边距)、content(内容)组成,这些属性我们可以把它转移到我们日常生活中的盒子上来理解,日常生活中所见的盒子也就是装东西的箱子,也具有这些属性,所以叫它盒子模型 其中content(内容)又可以有两个元素width(宽)和height(高) CSS边框样式 可以使用border-style来设置边框的样式,也可以分别来设置上下左右的样式: border-top-style border-left-style border-right-style border-bottom-style 边框样式有很多种,可以定义很多,比如单边框,虚线的边框,实线的边框,双边框,还有没有边框的边框。 分别都可以用border-style属性的上下左右后面接上,下表的值 值 描述 none 定义无边框 hidden 与 "none" 相同。不过应用于表时除外,对于表,hidden 用于解决边框冲突。 dotted 定义点状边框。在大多数浏览器中呈现为实线。 dashed 定义虚线。在大多数浏览器中呈现为实线。 solid 定义实线。 double 定义双线。双线的宽度等于 border-width 的值。 groove 定义 3D 凹槽边框。其效果取决于 border-color 的值。 ridge 定义

css盒子模型中的border属性

本秂侑毒 提交于 2019-11-26 08:58:43
认识border属性 我们可以通过boder属性来为元素设置边框; 元素的边框 (border) 是围绕元素内容和内边距的一条或多条线。 CSS border 属性允许你规定元素边框的样式、宽度和颜色。 值得注意的一点是:为元素设置边框时必须指定三个样式(边框的样式,宽度,颜色),三者缺一不可。 每个边框有 3 个方面:宽度、样式,以及颜色。下面内容将会具体讲解这三个方面 一、 边框的宽度border-width : 设置边框宽度有两种方法,第一种是 值复制法 按照 top-right-bottom-left 的顺序设置元素的各边边框,第二种 也可以通过单独属性分别设置边框各边的宽度, (一)值复制(简写样式) 指定四个值,分别设置给上,右,下,左。顺时针方向; div{border-style:soild; border-width:10px 20px 30px 40px} 指定三个值,第一个值10px设置给上边框,第二个值设置给左边框和右边框,第三个值设置给下边框; div{border-style:soild; border-width:10px 20px 30px} 指定两个值,第一个值设置给上下边框,第二个值设置给左右边框; div{border-style:soild; border-width:10px 20px} 指定一个值,四个边框使用同一个值 div