1.1 颜色空间介绍

RGB 颜色空间是大家最熟悉的颜色空间,即三基色空间,任何一种颜色都可以由该三种 颜色混合而成。然而一般对颜色空间的图像进行有效处理都是在 HSV 空间进行的,HSV(色 调 Hue,饱和度 Saturation,亮度 Value)是根据颜色的直观特性创建的一种颜色空间, 也称六角 锥体模型。

参考:https://blog.csdn.net/taily_duan/article/details/51506776

为什么会选择 HSV 空间而不是 RGB 空间? 对于图像而言,识别相应的颜色在 RGB 空间、 HSV 空间或者其它颜色空间都是可行的。之所以选择 HSV,是因为 H 代表的色调基本上可以 确定某种颜色,再结合饱和度和亮度信息判断大于某一个阈值。而 RGB 由三个分量构成, 需要判断每种分量的贡献比例。即 HSV 空间的识别的范围更广,更方便。

图 1-1 HSV颜色空间模型

1.2 三种颜色空间的转换(gray BGR HSV)

在OpenCV中有超过150种的颜色空间转换的方法,但是我们经常会用到的也就只有两种,即 BGR->Gray 和 BGR->HSV。注意 Gray 和 HSV 不可以互相转换。 颜色空间转换:cv2.cvtColor(input_image, flag)

BGR->Gray: flag 就是 cv2.COLOR_BGR2GRAY

BGR->HSV: flag 就是 cv2.COLOR_BGR2HSV

OpenCV 中 HSV 颜色空间的取值范围:

H [0, 179] S [0, 255] V [0, 255]

图 1-2 常用颜色的取值范围

Demo, 程序的源码位于/home/pi/yahboom/colorBlcok/colorBlock.py:

图 1-3 颜色空间转换识别图片中的黄色和红色部分

 

 

在这个程序中,我们第一次接触了掩膜,有些小伙伴可能对掩膜不太了解,掩膜的概念描述不太好理解,它可以被理解为位图,可以进行腐蚀膨胀等形态学的操作。我们只需要知道,在提取感兴趣区域、屏蔽图片某些区域、结构特征提取和特殊图像制作中都可能用到掩膜,即可。

progress:可自行尝试实现多种颜色的识别。

 
 
 

OpenCV 学习笔记(10)HSV颜色空间及颜色空间转换(RGB-HSV)的更多相关文章

  1. OpenCV学习笔记(10)——图像梯度

    学习图像梯度,图像边界等 梯度简单来说就是求导. OpenCV提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr和Lapacian.Sobel,Scharr其实就是求一阶或二阶导. ...

  2. opencv学习笔记(七)SVM+HOG

    opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...

  3. paper 93:OpenCV学习笔记大集锦

    整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...

  4. (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...

  5. OpenCV 学习笔记 07 目标检测与识别

    目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...

  6. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  7. opencv 学习笔记集锦

    整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...

  8. OpenCV学习笔记5

    OpenCV学习笔记5 图像变换 傅里叶变换 这里可以先学习一下卷积分,了解清除卷积的过程和实际意义,在看这一章节的内容. 原理: 傅里叶变换经常被用来分析不同滤波器的频率特性.我们可以使用 2D 离 ...

  9. OpenCV学习笔记 笔记汇总

    转载来源:https://www.cnblogs.com/tonyc/p/6407318.html 今后开始学习OpenCV   1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址:http ...

  10. opencv学习笔记(六)直方图比较图片相似度

    opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...

随机推荐

  1. 【Go】go的日志框架-logrus初探

    summary logrus是针对go语言开发的一款日志系统,在本片文章中,将会对上手logrus的过程中遇到的一些问题做一个记录.这个记录参考了这篇文章.下面我们开始吧! 上手 package ma ...

  2. Linux ssh 公私钥配置

    Linux ssh 公私钥配置 ssh 公私钥可实现无密码的情况下直接直接登录到服务端.方便我们管理,而且也可以设置ssh完全通过公私钥登录,不可通过密码登录,来提高我们的服务器安全程度. 配置 生成 ...

  3. Django 模板语言 for循环

    Django 模板语言 for 循环 ******  for 循环字典 ********** USER_DICT = { 'k1':'root1', 'k2':'root2', 'k3':'root3 ...

  4. linux 1-常用命令

    文件处理命令: 命令格式:命令 [-选项] [参数] 例如:ls -la /etc   多个选项可以写在一起,不区分前后关系,例如 -l 和 -a 一起写成 -la 目录处理命令:ls (就是list ...

  5. HDU校赛 | 2019 Multi-University Training Contest 5

    2019 Multi-University Training Contest 5 http://acm.hdu.edu.cn/contests/contest_show.php?cid=852 100 ...

  6. - 集合 遍历 foreach Iterator 并发修改 ConcurrentModificationException MD

    目录 目录 为什么不能在 foreach 循环里进行元素的 remove/add 操作 背景 foreach 循环 问题重现 fail-fast remove/add 做了什么 正确姿势 直接使用普通 ...

  7. Gearman介绍、原理分析、实践改进

    gearman是什么? 它是分布式的程序调用框架,可完成跨语言的相互调用,适合在后台运行工作任务.最初是2005年perl版本,2008年发布C/C++版本.目前大部分源码都是(Gearmand服务j ...

  8. 重温拉格朗日乘子法和KKT条件

    在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值:如果含有不等式 ...

  9. zynq开发板外设配置演示

    有幸得到米尔电子zynq系列开发板Z-turn Board试用体验,下面说说我这款zynq系列的Z-TURN板子外设配置.从Z-turn Board原理图上看,目前可以配置的FPGA管脚大概有100多 ...

  10. pandas 之 字符串处理

    import numpy as np import pandas as pd Python has long been a popular raw data manipulation language ...