python-opencv之色彩空间,RGB2HSV色彩空间转换及应用

  • 一、Python-opencv中的色彩空间
  • 二、为什么同样的图片用公式换了色彩空间显示出来的完全不一样?
  • 三、cv2.inRange()函数
  • 四、 BGRA图像

一、Python-opencv中的色彩空间

在这里主要介绍RGB和HSV色彩空间,这二者具体是什么这里不再详细介绍,其他回答都很详细。
这里要介绍一下二者的取值和关系:
在Python-opencv中,RGB图像三个通道的取值都是0~255,*而HSV中H取值为0-180,S和V取值都是0-255,这是因为计算机用8位显示图像,取值范围为0-255,而HSV色彩空间H取值范围为0-360,S和V取值都是0-1,为了能够在计算机上显示必须映射到0-255,这里H就直接除以2得到的取值范围就是0-180了。具体的RGB到HSV的变换公式这里也不再详细介绍。
这里再附加一个HSV在原始HSV空间各个颜色的取值 和在Opencv中HSV各个颜色的取值
映射前
映射后

二、为什么同样的图片用公式换了色彩空间显示出来的完全不一样?

你是否有过这个问题?按理说我只是变换了色彩空间,图片还是那个图片,在不同的色彩空间展示的同一张图片应该看到的是一样的才对啊。原因是由于我们虽然得到了HSV的图片,也有H,S,V三个通道,但是我们的电脑显示的时候还是按照RGB的三个通道来显示的,所以我们看到的图片就不是原来的图片了。

三、cv2.inRange()函数

这个函数常常用来在HSV空间中挑选出想要的色彩部分,有三个参数.inRange(img,min,max)
具体怎么用这里就不在详细介绍了,本文只介绍这个函数的常用流程,通常分为四步:

min = np.array([Hl,Sl,Vl]) #设置范围下限
max = np.array([Hh,Sh,Vh])#设置范围上限
mask = cv.inRange(img,min,max)#制作mask
res = cv.bitwise_and(img,img,mask)#用带掩膜的与操作进行计算得到我们想要的结果

四、 BGRA图像

.png文件有alpha参数 用来透明化,但是只能保存了后打开才能看出差异,举例:

lena = cv.imread('lena.jpg',-1)
b,g,r,a, = cv.split(cv.cvtColor(lena,cv.COLOR_BGR2BGRA))#先转为RGBA然后分解,好修改alpha的值
a[:,:] = 255
lena255 = cv.merge([b,g,r,a])
a[:,:] = 125
lena125 = cv.merge([b,g,r,a])
cv.imwrite('lena255.png',lena255)
cv.imwrite('lena125.png',lena125)

对比:a=255
a=125

python-opencv之色彩空间,RGB2HSV色彩空间转换及应用相关推荐

  1. Python OpenCV 彩色图像与灰度图像的转换

    今天是持续写作的第 41 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 想不到,今天学习的竟然还是彩色图像与灰度图像的转换.经过前面的学习,你们和我一样,有没有掌握 2 种彩色图 ...

  2. Python+OpenCV教程5:颜色空间转换 追踪视频中特定颜色的物体 消除票据中的红色印章

    目标 颜色空间转换,如BGR↔Gray,BGR↔HSV等 追踪视频中特定颜色的物体 OpenCV函数:cv2.cvtColor(),cv2.inRange() 消除票据中的红色印章 教程 颜色空间转换 ...

  3. Python OpenCV中色彩空间的转换类型

    OpenCV中具有的色彩空间转换类型有很多,编写一个简单的Python程序,OpenCV下所支持的色彩空间转换类型 Python程序: # -*- coding: utf-8 -*-import cv ...

  4. Python+OpenCV:基于色彩空间转换的目标跟踪

    Python+OpenCV:基于色彩空间转换的目标跟踪 ######################################################################## ...

  5. Python+OpenCV:色彩空间转换

    Python+OpenCV:色彩空间转换 ############################################################################### ...

  6. [python opencv 计算机视觉零基础到实战] 四、了解色彩空间及其详解

    一.学习目标 了解什么是色彩空间 了解opencv中色彩空间的转换 目录 [python opencv 计算机视觉零基础到实战] 一.opencv的helloworld [[python opencv ...

  7. Python+opencv学习记录3:色彩空间

    文章目录 1.色彩空间的介绍 1.1.什么是色彩空间 1.2.常见的色彩空间 1.2.1.RGB 1.2.2.HSV 1.2.3.HSI 1.2.4.YCrCb 1.2.5.YUV 1.3.相应的AP ...

  8. Python OpenCv 车牌检测识别(边缘检测、HSV色彩空间判断)

    Python OpenCv 车牌检测识别 背景 车牌识别在交通.停车等方面有着广泛应用,在网上也有很多种基于OpenCV方案进行识别,本文是综合了两种比较流行的方案,首先是提取出疑似车牌区域的轮廓,然 ...

  9. opencv 图像色彩空间与应用转换

    参考链接:https://mp.weixin.qq.com/s/SaCqrhd8RVeKGDqo6vhUjg 原创 gloomyfish OpenCV学堂 图像色彩空间与应用转换 引言 重新写了一下图 ...

最新文章

  1. maya表情blendshape_Maya的形状融合变形器Blend Shape | 学步园
  2. 大规模知识图谱的构建
  3. gsonformat安装怎么使用_IDEA中使用GsonFormat
  4. Linux 手动安装Ettercap
  5. 前端小知识点(4):JS 运行机制和存储
  6. UIScrollView 滚动视图 (实例)
  7. matlab 读取视频出现的问题
  8. HDU.1001 Sum Problem
  9. java生成激活码算法_java实现的AES秘钥生成算法示例
  10. IE重置input file
  11. parse_url() vul
  12. kityminder百度脑图转xmind
  13. 牛客小白月赛 22 C. 交换游戏
  14. linux没有cpufreq目录,Linux系统的Cpufreq
  15. 证件照人像与背景分离(Pythoncv)
  16. 到底买苹果XS还是XR_没有5G的苹果到底还值不值得买
  17. (转)一篇令所有游戏圈的兄弟汗颜的文章
  18. 【SpringBoot】十二、@Scheduled定时任务(源码)
  19. 原生面向对象的简单金山打字游戏
  20. 百家姓128进制数的乘法运算

热门文章

  1. k3s和k8s的区别和优缺点
  2. oracle mon和month,oracle函数(日期时间表示)
  3. 【问题】RIDE,配置chromedriver
  4. 项目中如何体现Spring中的切面编程
  5. 制作U盘版Windows 10部署工具
  6. Hive on Spark VS Spark on Hive
  7. 【目标检测】TT100K数据集使用,提取标注信息并转换成VOC格式的xml文件或yolo格式的txt文件
  8. 用matlab绘制跳动的心
  9. 【linux】循序渐进学运维-基础命令篇
  10. 新学期如何克服“社恐”,猿辅导老师给高中生三条建议