python-opencv之色彩空间,RGB2HSV色彩空间转换及应用
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色彩空间转换及应用相关推荐
- Python OpenCV 彩色图像与灰度图像的转换
今天是持续写作的第 41 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 想不到,今天学习的竟然还是彩色图像与灰度图像的转换.经过前面的学习,你们和我一样,有没有掌握 2 种彩色图 ...
- Python+OpenCV教程5:颜色空间转换 追踪视频中特定颜色的物体 消除票据中的红色印章
目标 颜色空间转换,如BGR↔Gray,BGR↔HSV等 追踪视频中特定颜色的物体 OpenCV函数:cv2.cvtColor(),cv2.inRange() 消除票据中的红色印章 教程 颜色空间转换 ...
- Python OpenCV中色彩空间的转换类型
OpenCV中具有的色彩空间转换类型有很多,编写一个简单的Python程序,OpenCV下所支持的色彩空间转换类型 Python程序: # -*- coding: utf-8 -*-import cv ...
- Python+OpenCV:基于色彩空间转换的目标跟踪
Python+OpenCV:基于色彩空间转换的目标跟踪 ######################################################################## ...
- Python+OpenCV:色彩空间转换
Python+OpenCV:色彩空间转换 ############################################################################### ...
- [python opencv 计算机视觉零基础到实战] 四、了解色彩空间及其详解
一.学习目标 了解什么是色彩空间 了解opencv中色彩空间的转换 目录 [python opencv 计算机视觉零基础到实战] 一.opencv的helloworld [[python opencv ...
- 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 ...
- Python OpenCv 车牌检测识别(边缘检测、HSV色彩空间判断)
Python OpenCv 车牌检测识别 背景 车牌识别在交通.停车等方面有着广泛应用,在网上也有很多种基于OpenCV方案进行识别,本文是综合了两种比较流行的方案,首先是提取出疑似车牌区域的轮廓,然 ...
- opencv 图像色彩空间与应用转换
参考链接:https://mp.weixin.qq.com/s/SaCqrhd8RVeKGDqo6vhUjg 原创 gloomyfish OpenCV学堂 图像色彩空间与应用转换 引言 重新写了一下图 ...
最新文章
- maya表情blendshape_Maya的形状融合变形器Blend Shape | 学步园
- 大规模知识图谱的构建
- gsonformat安装怎么使用_IDEA中使用GsonFormat
- Linux 手动安装Ettercap
- 前端小知识点(4):JS 运行机制和存储
- UIScrollView 滚动视图 (实例)
- matlab 读取视频出现的问题
- HDU.1001 Sum Problem
- java生成激活码算法_java实现的AES秘钥生成算法示例
- IE重置input file
- parse_url() vul
- kityminder百度脑图转xmind
- 牛客小白月赛 22 C. 交换游戏
- linux没有cpufreq目录,Linux系统的Cpufreq
- 证件照人像与背景分离(Pythoncv)
- 到底买苹果XS还是XR_没有5G的苹果到底还值不值得买
- (转)一篇令所有游戏圈的兄弟汗颜的文章
- 【SpringBoot】十二、@Scheduled定时任务(源码)
- 原生面向对象的简单金山打字游戏
- 百家姓128进制数的乘法运算