ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

OpenCV学习笔记——颜色空间及其转化方法

2020-02-03 09:09:21  阅读:308  来源: 互联网

标签:颜色 img imshow 笔记 OpenCV HSV cv 通道


照明模型

1、光通量:指人眼所能感觉到的辐射功率,它等于单位时间内某一波段的辐射能量和该波段的相对视见率的乘积。

光通量本质上表示的是可见光的功率。其单位为lm(流明)。与瓦特(w)的换算关系为:1流明=0.00146瓦。

2、辐照度:指投射到一平面上的辐射能量密度。即到达一表平面上,单位时间,单位面积上的辐射能。

辐照度以符号E表示,常用单位是lux(勒克斯)。1lux=1lm/m^2

参考资料

机器视觉光源的分类及特点: https://blog.csdn.net/wills798/article/details/83749177

灰度与彩色图像成像原理

1、数字图像格式(灰度):数字图像往往由二维矩阵表示,每个像素点包含一个字节(标识符:0-255,共256),二维图像中不同横纵坐标对应的像素的值组成了二维矩阵。
2、彩色传感:彩色图像每个像素点对应了RGB三个颜色分量,故每个像素点用三个字节表示(标识符:R:0-255,G:0-255,B:0-255)

一个彩色图像可以被拆分为三个颜色通道:红色、绿色、蓝色。(类似于图层的叠加)

颜色模型与颜色空间

1、RGB颜色模型 :所有颜色均由R(红色)G(绿色)B(蓝色)三种基色混合而成(反射光)。

在这里插入图片描述

2、CMYK颜色模型:即利用RGB补色来构成颜色空间(吸收光)。

在这里插入图片描述

3、HSI颜色模型:色调H描述纯色的属性,饱和度S表示纯色被白光稀释的程度,亮度I表示物色的光强度概念。

在这里插入图片描述

利用OpenCV实现颜色空间分解

1、相关函数
dst = cv.cvtColor(src,code[,dst[,dstCn]])	
#颜色空间转换
#src:要转换的原始图像
#code:要转换的颜色空间类型
#dst,dstCn可省

其中,code值常取:cv.COLOR_BGR2GRAY(转换为灰度图)、cv.COLOR_BGR2HSV(转换为HSV色彩空间)

bgr[x,y,z]
#通道分离
#x,y,z分别表示b、g、r三个通道的参数
#如bgr[:,:,0]表示蓝色(blue)
2、OpenCV中的颜色空间:
  • OpenCV中,彩色图像默认格式为BGR格式,颜色三通道顺序为B、G、R;
  • OpenCV中,HSI/HSV颜色空间中,H取值范围为0-180,其他两者为0-255
  • HSV中V指的是RGB里的最大值,V=max(r,g,b);HSI中I指的是平均值,I=(r+g+b)/3;
3、代码
import cv2 as cv	#导入OpenCV模块

filename = r"E:\lena.jpg"	#设置文件路径
img = cv.imread(filename)	#读入图像文件
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)	#转换为灰度图像

cv.imshow("souce image", img)	#显示原图
cv.imshow("gray", gray)			#显示灰度图
cv.waitKey()					#等待键入

hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV)	#转换为HSV图

cv.imshow("Hue", hsv[:, :, 0])			#色调H通道(HSV)
cv.imshow("Saturation", hsv[:, :, 1])	#饱和度S通道(HSV)
cv.imshow("Value", hsv[:, :, 2])		#亮度V通道(HSV)
cv.waitKey()							#等待键入

cv.imshow("Blue", img[:, :, 0])		#蓝色通道(BGR)
cv.imshow("Green", img[:, :, 1])	#绿色通道(BGR)
cv.imshow("Red", img[:, :, 2])		#红色通道(BGR)
cv.waitKey()						#等待键入

cv.destroyAllWindows()				#关闭所有窗口
4、结果

原图与灰度图对比:
原图与灰度图对比
HSV色彩空间各通道对比:(依次为:H、S、V)
HSV
BGR色彩空间各通道对比:(依次为:B、G、R)
BGR

感谢CSDN免费开课一学即懂的计算机视觉(第一季),感谢屈桢深老师的讲解。本文部分图片及代码均取自于以上课程。

过客朔越 发布了11 篇原创文章 · 获赞 21 · 访问量 2413 私信 关注

标签:颜色,img,imshow,笔记,OpenCV,HSV,cv,通道
来源: https://blog.csdn.net/qq_43174086/article/details/104150868

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有