相关文章推荐
潇洒的斑马  ·  android.os.deadobjecte ...·  2 月前    · 
买醉的鸡蛋  ·  vue重置按钮-掘金·  1 年前    · 
首页
学习
活动
专区
工具
TVP
发布

OpenCV HSV 颜色 识别- HSV 基本 颜色 分量 范围

一般对 颜色 空间的图像进行有效处理都是在 HSV 空间进行的,然后对于基本色中对应的 HSV 分量需要给定一个严格的 范围 ,下面是通过实验计算的模糊 范围 (准确的 范围 在网上都没有给出)。 HSV 颜色 空间 HSV (hue,saturation,value) 颜色 空间的模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1. 在 HSV 颜色 模型中,每一种 颜色 和它的补色相差180° 。 饱和度S取值从0到1,所以圆锥顶面的半径为1。 可以说, HSV 模型中的V轴对应于RGB 颜色 空间中的主对角线。 在圆锥顶面的圆周上的 颜色 ,V=1,S=1,这种 颜色 是纯色。 HSV 模型对应于画家配色的方法。 HSV 以人类更熟悉的方式封装了关于 颜色 的信息:“这是什么 颜色 ?深浅如何?明暗如何?”。HSL 颜色 空间类似于 HSV ,在某些方面甚至比它还好。HSL的模型为双圆锥形状。

4K 2 0

OpenCV --- HSV 颜色 空间介绍

前言 在 OpenCV 中我们有时候提取样本的时候可能会通过 颜色 来进行提取,那 HSV 颜色 空间在这个时候就可以加以利用上了,本章主要是解决 HSV 颜色 空间(摘自网上文章,在此留用),用于对 HSV 一个基本的认识了解 HSV 颜色 系统简介 HSV 是一种在人们生活中甚至更常用的 颜色 系统,在电视遥控器上、在画画的调色板中、在你用爱某艺视频调整亮度时都很常见,因为它更符合人们描述 颜色 的方式——是什么 颜色 颜色 有多深、 颜色 有多亮 因此对 HSV 我们的结论如下: 当S=1 V=1时,H所代表的任何 颜色 被称为纯色; 当S=0时,即饱和度为0, 颜色 最浅,最浅被描述为灰色(灰色也有亮度,黑色和白色也属于灰色),灰色的亮度由 OpenCV 中的 HSV 颜色 体系 与上述 HSV 颜色 系统不同的是,如果直接使用 OpenCV 中cvtColor函数,并设置参数为CV_BGR2 HSV ,那么所得的H、S、V值 范围 分别是[0,180), 此时输出结果 范围 和一开始所述就符合了。 -END-

2.6K 5 0
  • 广告
    关闭

    【玩转 GPU】有奖征文

    精美礼品等你拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C++ OpenCV 使用InRange对 HSV 颜色 进行分割

    前言 上一篇中我们学习了《 OpenCV --- HSV 颜色 空间介绍》,对 HSV 颜色 进行了一个简单的了解,这一章我们在研究一下利用 颜色 把想到的数据获取出来。 OpenCV 中的inRange()函数可实现二值化功能(这点类似threshold()函数) https://v.qq.com/x/page/l13584t9l4w.html API函数 我们再新建一个项目名为 opencv --video2,按照配置属性(VS2017配置 OpenCV 通用属性),然后在源文件写入#include和main方法 在《》一篇中的 颜色 HSV 的表格中我们可以看到蓝色的H 范围 在100-124之间,S的 范围 在43-255之间,V的 范围 在46-255之间,如下图: 所以我们在代码中先把这两个 范围 值定义出来 然后我们在视频播放的时候需要对原始图像转换变 HSV 图像,然后通过InRange把 颜色 分割后显示出来 运行后的效果就是文章开始的视频,下面是视频中的屏幕截图 ?

    5.9K 2 0

    颜色 空间RGB与 HSV (HSL)的转换

    HSV 模型在 1978 年由埃尔维·雷·史密斯创立。 艺术家有时偏好使用 HSV 颜色 模型而不选择 RGB 或 CMYK 模型,由于它类似于人类感觉 颜色 的方式。 HSL 颜色 空间类似于 HSV ,在某些方面甚至比它还好。 [编辑]用途 HSV 色轮同意用户高速的选择众多 颜色 。 此外计算机典型的用有限精度 范围 来存储 RGB 值;这约束了精度,再加上人类 颜色 感知的限制,使圆锥体表示在多数情况下更有用。 在 HSL 中,亮度跨越从黑色过选择的色相到白色的完整 范围 (在 HSV 中,V 分量仅仅走一半行程,从黑到选择的色相)。 Bryce GIMP( HSV 用于 颜色 选择,HSL 用于 颜色 调整) [编辑]与其它 颜色 模型的比較 HSV 颜色 空间在技术上不支持到辐射測定中測量的物理能量谱密度的一一映射。

    1.4K 1 0

    python下对 hsv 颜色 空间进行量化操作

    由于工作需要,需要计算 颜色 直方图来提取 颜色 特征,但若不将 颜色 空间进行量化,则直方图矢量维数过高,不便于使用。 但是看了 opencv API后并未发现提供了相关函数能够在计算 颜色 直方图的同时进行量化,因此这部分功能只能自己实现。 下面分为两个部分进行介绍: 一、 颜色 空间量化表 由于RGB模型不够直观,不符合人类视觉习惯,因此在进行 颜色 特征提取前,需要将照片从RGB 颜色 模型转换为更符合人类视觉的 HSV 模型。 在提取 颜色 特征时,最常用的方法之一为 颜色 直方图法,但一张图片中出现的 颜色 一般特别多,导致直方图矢量的维数较高,因此需要对 HSV 空间进行量化。 直方图量化 value : [21, 144, 23] h, s, v opencv 中,h-[0,180], s-[0,255], v-[0,255] value[0]

    1.1K 3 0

    由RGB到 HSV 颜色 空间的理解

    HSV 模型 3. 如何理解RGB与 HSV 的联系 4. HSV 在图像处理中的应用 在图像处理中,最常用的 颜色 空间是RGB模型,常用于 颜色 显示和图像处理,三维坐标的模型形式,非常容易被理解。 而 HSV 模型,是针对用户观感的一种 颜色 模型,侧重于色彩表示,什么 颜色 、深浅如何、明暗如何。 v = max(r, g, b) 由RGB到 HSV 的转换: " HSV 对用户来说是一种直观的 颜色 模型。 HSV 在图像处理应用 HSV 在用于指定 颜色 分割时,有比较大的作用。 H和S分量代表了色彩信息。 分割应用: 用H和S分量来表示 颜色 距离, 颜色 距离指代表两种 颜色 之间的数值差异。 Androutsos等人通过实验对 HSV 颜色 空间进行了大致划分,亮度大于75%并且饱和度大于20%为亮彩色区域,亮度小于25%为黑色区域,亮度大于75%并且饱和度小于20%为白色区域,其他为彩色区域。

    624 4 0

    超简单的视频对象提取程序

    视频对象提取 与其说是视频对象提取,不如说是视频 颜色 提取,因为其本质还是使用了 OpenCV HSV 颜色 物体检测。 Smith在1978年创建的一种 颜色 空间, 也称六角锥体模型(Hexcone Model); 色调(H:hue):用角度度量,取值 范围 为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120 它们的补色是:黄色为60°,青色为180°,品红为300°;( OpenCV 中H的取值 范围 为0~180,8bit存储时); 饱和度(S:saturation):取值 范围 为0~255,值越大, 颜色 越饱和; 如上效果图所示,我们要做的就是把视频中的绿色的小猪佩奇识别出来即可,下面是的识别步骤: 使用PS取的小猪佩奇 颜色 的HSB值,相当于 OpenCV HSV ,不过PS的 HSV (HSB)取值是:0~360 、0~1、0~1,而 OpenCV HSV 是:0~180、0~255、0~255,所以要对ps的 hsv 进行处理,H/2、SV*255; 使用 OpenCV 位“与运算”提取 HSV 颜色 部分画面; 使用高斯模糊优化图片

    583 4 0

    手把手教你用 OpenCV 做人脸口罩佩戴检测(附详细步骤+代码)

    ])# 颜色 范围 低阈值 upper_ hsv _1 = np.array([40,255,255])# 颜色 范围 高阈值 lower_ hsv _2 = np.array([140,30,30])# 颜色 范围 低阈值 upper_ hsv _2 = np.array([180,255,255])# 颜色 范围 高阈值 mask1 = cv2.inRange( hsv _img,lower_ hsv _1,upper_ hsv _1) mask2 = cv2 cvtColor(img,cv2.COLOR_BGR2 HSV ) lower_ hsv _1 = np.array([0,30,30])# 颜色 范围 低阈值 upper_ hsv _1 = np.array( [40,255,255])# 颜色 范围 高阈值 lower_ hsv _2 = np.array([140,30,30])# 颜色 范围 低阈值 upper_ hsv _2 = np.array([180,255,255 ])# 颜色 范围 高阈值 mask1 = cv2.inRange( hsv _img,lower_ hsv _1,upper_ hsv _1) mask2 = cv2.inRange( hsv _img,lower_ hsv

    10.6K 6 3

    OpenCV 这么简单为啥不学——1.11、蓝背景证件照替换白色或红色

    ---- 蓝背景证件照替换白色 如果你想使用Python的 OpenCV 替换证件照的蓝色背景,首先需要读取证件照图片,然后将其转换为 HSV 颜色 空间。 然后,你可以使用inRange函数定义蓝色 范围 并使用bitwise_and函数提取该 颜色 。接下来,你可以使用膨胀和腐蚀操作来填充蓝色区域。 颜色 空间 hsv = cv2.cvtColor(img, cv2.COLOR_BGR2 HSV ) # 定义蓝色 范围 lower_blue = np.array([100, 50, 50]) upper_blue 颜色 空间 hsv = cv2.cvtColor(img, cv2.COLOR_BGR2 HSV ) # 定义蓝色 范围 lower_blue = np.array([100, 50, 50]) upper_blue 某些 颜色 空间旨在独立于用于生成 颜色 图像的任何设备。 有些设备非常依赖。 HSV 颜色 空间 最后我对 HSV 这个 颜色 空间做个解释。

    301 4 0

    如何使用 OpenCV Python 检测 颜色

    在这篇文章中,我们将看到如何使用 Python 中的 OpenCV 模块检测 颜色 ,进入这个领域的第一步就是安装下面提到的模块。 读取图像并使用 OpenCV 模块中的 cvtColor() 函数将BGR图像转换为 HSV (色调、饱和度、值) 图像, 现在,选择我们想要检测的 颜色 ,并使用如下所示的 HSV 颜色 贴图获得较低和较高的 在 OpenCV 中,色调的值从0到180,饱和度的值从0到255。因此, OpenCV 使用的 HSV 范围 在 (0–180, 0–255, 0–255) 之间。 HSV 颜色 图 H 根据 x 轴取值,S 根据 y 轴取值,V 始终在 (20-255) 之间的 范围 内取值。 使用 HSV 值,我们需要使用 OpenCV 模块中的 inRange() 函数找到掩码并将其分配给变量(掩码)。

    1K 2 0

    四、了解色彩空间及其详解

    由于在 opencv 中,RGB的数据类型为uint8,那么就可以有256256256=16777216种 颜色 ,这些 颜色 都在这个笛卡尔坐标系中进行表示。 以下是RGB的色彩空间图,图片来源于网络。 2.3 HSV 颜色 空间 HSV 颜色 空间是一种表示色调、饱和度以及亮度的 颜色 空间,其中H(hue)指的是色调,就是平常一些 颜色 ,如黄色、绿色、红色等;S(saturation)指的是饱和度、V(value HSV 是一种更接近于人类感知的一种 颜色 空间,它是根据人对色彩的观察从而产生的。 其中H色调是描述纯色,S饱和度是与白光叠加后的描述。 以下是 HSV 的色彩空间图,图片来源于网络。 从图中得知,色调Hue的取值为0到360,但是在 opencv 中取值为0-180,这点是有一定区别;S饱和度S取值 范围 为0.0~1.0,在 opencv 中取值为0-255;V亮度取值 范围 为0.0-1.0,在 从图中我们可以得知,Value值越小则越黑,Hue则是色彩 范围 ,S则是值越大 颜色 更加纯。 有一个与 HSV 非常相似的色彩空间,名为HSL。

    822 1 0

    使用 颜色 空间进行图像分割

    使用 颜色 空间进行简单分割 颜色 空间和使用 opencv 读取图像 在RGB 颜色 空间可视化小丑鱼 在 HSV 颜色 空间可视化小丑鱼 选取 范围 这个分割是否可以泛化到小丑鱼的亲属? 在本文中,您将学习如何使用 OpenCV 基于Python中的 颜色 从图像中简单地分割对象。 OpenCV 是一个流行的计算机视觉库,用c/c++编写,带有Python绑定,提供了操作 颜色 空间的简单方法。 选取 范围 让我们根据一系列简单的橙色来判断尼莫的阈值。你可以通过观察上面的图或者在线使用 颜色 挑选应用程序来选择 范围 ,比如这个RGB到 HSV 工具。 一旦你获得了合适的 颜色 范围 ,你可以使用cv2.inrange()来尝试阈值Nemo,inRange()采用三个参数:图像、较低 范围 和较高 范围 。 在本教程中,您已经看到了几个不同的 颜色 空间,一幅图像是如何分布在RGB和 HSV 颜色 空间中的,以及如何使用 OpenCV 颜色 空间之间进行转换和分割 范围

    4.8K 3 0

    基于 OpenCV 的彩色空间互转

    ,像素值的 范围 是[0,255]。 每个色彩通道值的 范围 都在[0,255]之间,我们用这三个色彩通道的组合表示 颜色 。下图表示不同RGB对应的 颜色 : 三个通道都是0表示黑色,三个通道都是255表示白色。 灰度 颜色 的饱和度值是0。如果 颜色 的饱和度很低,那么它计算所得的色调不可靠。在 OpenCV 内,饱和度要映射到[0,255] 范围 内。 3. 亮度(V) 反应的是人眼感受到的光的明暗程度。 在 OpenCV 内,亮度也要映射到[0,255] 范围 内。 RGB 颜色 空间中,三种 颜色 分量的取值与所生成的 颜色 之间的联系并不直观。 将BGR分别转换为GRAY、 HSV ,再转换回BGR #include < opencv 2/ opencv .hpp> #include < opencv 2/highgui/highgui.hpp> #include

    960 1 0

    opencv 颜色 过滤只留下图片中的红色区域操作

    一开始的想法是分别找到RGB值,然后找到红色区域的部分保留就可以了,不过好像很难确定红色区域的RGB取值 范围 ,所以要把图片转化到 HSV 空间中去。 IplImage* hsv = cvCreateImage( cvGetSize(image), 8, 3 ); cvCvtColor(image, hsv ,CV_BGR2 HSV ); opencv s_ hsv = cvGet2D( hsv , i, j);//获取像素点为(j, i)点的 HSV 的值 opencv 的H 范围 是0~180,红色的H 范围 大概是(0~8)∪(160,180) 补充知识: opencv 实现图像去除单一 颜色 背景 因为背景是固定 颜色 ,很容易筛选出背景,然后将其设为白色完全透明即可。 emmm,事实证明背景附近的 颜色 不是严格的背景色,后来将字填充后好多了。 以上这篇 opencv 颜色 过滤只留下图片中的红色区域操作就是小编分享给大家的全部内容了,希望能给大家一个参考。

    3K 1 0

    05: 颜色 空间转换

    目标 颜色 空间转换,如BGR↔Gray,BGR↔ HSV 等 追踪视频中特定 颜色 的物体 OpenCV 函数:cv2.cvtColor(), cv2.inRange() 颜色 空间转换 import cv2 视频中特定 颜色 物体追踪 HSV 是一个常用于 颜色 识别的模型,相比BGR更易区分 颜色 ,转换模式用COLOR_BGR2 HSV 表示。 经验之谈: OpenCV 中色调H 范围 为[0,179],饱和度S是[0,255],明度V是[0,255]。 现在,我们实现一个使用 HSV 来只显示视频中蓝色物体的例子,步骤如下: 捕获视频中的一帧 从BGR转换到 HSV 提取蓝色 范围 的物体 只显示蓝色物体 import numpy as np capture 那蓝色的 HSV 值的上下限lower和upper 范围 是怎么得到的呢?

    303 2 0

    颜色 模型与转换

    本小节中将介绍几种 OpenCV 4中能够互相转换的常见的 颜色 模型,例如RGB模型、 HSV 模型、Lab模型、YUV模型以及GRAY模型,并介绍这几种模型之间的数学转换关系,以及 OpenCV 4中提供的这几种模型之间的变换函数 三个通道对于 颜色 描述的 范围 是相同的,因此RGB 颜色 模型的空间构成是一个立方体。 HSV 颜色 模型 HSV 是色度(Hue)、饱和度(Saturation)和亮度(Value)的简写,通过名字也可以看出来该模型通过这三个特性对 颜色 进行描述。 色度是色彩的基本属性,就是平时常说的 颜色 ,例如红色,蓝色等;饱和度是指 颜色 的纯度,饱和度越高色彩越纯越艳,饱和度越低色彩则逐渐地变灰变暗,饱和度的取值 范围 是由0到100%;亮度是 颜色 的明亮程度,其取值 范围 颜色 模型转成RGB 颜色 模型 COLOR_BGR2 HSV 40 RGB 颜色 模型转成 HSV 颜色 模型 COLOR_ HSV 2BGR 54 HSV 颜色 模型转成RGB 颜色 模型 COLOR_BGR2Lab 44 RGB

    1.1K 3 1