天天新资讯:opencv+图像处理(Image Processing in OpenCV) 4-0改变颜色空间的过程
目录
0.本节涉及的opencv新函数1.彩色的形成2.彩色空间3.为什么需要选择合适的彩色空间4.如何选择合适的彩色空间5.常用的彩色空间 RGB6.变换彩色空间数学公式7.opencv变换彩色空间代码+注释+效果本专栏代码地址
https://github.com/xiawei20161308104/xv_opencv_tutorials
本节代码路径xv_opencv_tutorials/ImageProcessinginOpenCV/changing_colorspaces.py
参考图像工程第4版,张毓晋,清华大学出版社
0.本节涉及的opencv新函数
颜色空间转化函数 cv.cvtColor()
1.彩色的形成
“Indeed rays,properly expressed,are not colored”——牛顿。
(相关资料图)
光线为不同频率的电磁波,人的视觉能感受到光的刺激,并且将不同频率的电磁波感知为不同颜色,所以,彩色仅存在于人的眼睛和大脑中,物理世界分布的是带有不同辐射能量的光线。
2.彩色空间
彩色模型建立在彩色空间之上,彩色模型和彩色空间的概念不做分别。
根据原理可以分为4类,根据应用可以分为2类
根据原理模型 | 原理 | 举例 |
---|---|---|
比色模型/色度模型 | 基于对光谱反射的物理测量 | 为颜色"id",颜色最精确的表达 |
生理学模型 | 基于人类视网膜中存在的3种基本颜色感知锥细胞 | RGB |
心理物理模型/精神物理学模型 | 基于人类对颜色的感知 | HSI,HCV,L*a*b* |
对立模型 | 基于感知实验 | HSB |
根据应用模型 | 应用 | 举例 |
---|---|---|
面向硬设备 | 显示器,打印机 | RGB,CMY,CMYK |
面向视觉 | 动画,图像处理 | HSI,HSB,L*a*b* |
3.为什么需要选择合适的彩色空间
人对彩色的感知与刺激视网膜的电磁辐射的谱能量分布,人的神经心里学,人的生理行为等有关,感知彩色是一个很复杂的过程,应用也存在多样性。CIE定义了若干彩色模型,每个模型都只有特定的适用情况,
没有一种通用模型满足所有情况,由彩色原理和彩色应用等去选择合适的彩色模型能统一处理问题的维度。
4.如何选择合适的彩色空间
了解自己的需求并寻找对应特性的彩色空间。例如,RGB模型特别适合在图像采集输入和图像输出显示等场合应用,但与人类视觉感知有一定区别,就是当我们看到一幅图像的时候并不能感知到他的红绿蓝各有多少分量,这个时候HSV模型就比较适配,H代表色调,S代表饱和度,V代表强度,这样建立的模型与人的感知高度适配。
在HSV模式下分析图像,取到图像的V值,并减小100个像素到v1,对比观察,能发现,人眼就能明显感知到亮度的变化。
def main(): # 读取图像 src = cv.imread("../imgs/opencv.png") # 转换HSV空间 hsv = cv.cvtColor(src, cv.COLOR_BGR2HSV) # 分离通道 h, s, v = cv.split(hsv) cv.namedWindow("v", cv.WINDOW_NORMAL) cv.imshow("v", v) # 减小亮度 v1 = v - 30 cv.namedWindow("v1", cv.WINDOW_NORMAL) cv.imshow("v1", v1) cv.waitKey(0) cv.destroyAllWindows()
5.常用的彩色空间 RGB
(出自图像工程第4版,张毓晋,清华大学出版社)
基于人体锥细胞,为一种与人的视觉系统结构密切相连的模型视网膜中三种不同的感受彩色的锥细胞的波长响应曲线SML与三原色RGB基本对应RGB模型的建立在笛卡尔坐标系统中原点为黑色,离原点最远的顶点为白色,这两点连线上为深浅不同的灰色CMY
三色光两两叠加产生三补色CMY,C为蓝绿(绿+蓝),M为品红(红+蓝),Y为黄(红+绿)一般用于出版社打印,图像处理不常用HSI
HSI与人类感知相对应,被称为面向用户的彩色模型用色调(Hue)、色饱和度(Saturation)和亮度(Intensity)来描述色彩独立于显示设备HSI的优点:强度分量与图像的彩色信息无关,是独立的, 也就是强度/亮度分量的变换并不改变图像的色调和饱和度。H与S独立并且适配人的感官,使得HSI模型非常适合基于人的视觉系统对彩色感知特性进行处理分析的图像算法。HSI的缺点:并不是均匀彩色空间模型——人所感觉到的两点的色彩区别程度与色彩空间两点的欧氏距离相对应。为了更直观的感受HSI彩色模型对人类感官的适配,代码拆分了同一幅图的RGB分量和HSV分量。
颜色越深则该分量值的占比越大。可以看出,HSI的三幅图看起来很不相同,表示,人眼能感觉到的HSI三个分量的区别要比RGB三个分量的区别要大
。
L*a*b*
从人的直观感受来看,彩色模型对彩色的描述应该与人对彩色的感知越同步越好,L\*a\*b\*是一个均匀彩色空间
,即,人所感觉到的两点的色彩区别程度与此空间中两点的欧氏距离相对应也是一个面向人类视觉的彩色空间,与设备无关,适合接近自然光照明的应用场合
6.变换彩色空间数学公式
每个工具包工具定义的分量范围不同,像色调H可以是0-180也可以是0-360,在数学上,可以互相转换。所以opencv在处理时,对于8位和16位图像,R、 G 和 B 被转换为浮点格式,并按比例缩放归一化到0-1。
部分转换公式如下:
7.opencv变换彩色空间代码+注释+效果
opencv的cvtColor函数实现色彩空间的转换,提供了150种
颜色空间的转换方式,只需要在cvtColor
函数的flag
位填写对应的转换标识即可。转换标识获取如下。
import cv2 as cv flags = [i for i in dir(cv) if i.startswith("COLOR_")] #这里会输出150种flag,他们是opencv定义的彩色空间转换flag,是cv.cvtColor(input_image, flag)的第二个参数值。 print( flags )
可以自己通过上面的代码获取,或者直接查询官方文档
这里介绍两种转换代码和效果案例,分别是BGR2Gray
和BGR2HSV
(opencv中没提供HSI,但这两个彩色空间差不多
#BGR2Gray import cv2 as cv def main(): src = cv.imread("../imgs/opencv.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY) cv.imwrite("gray.png", gray) cv.imshow("gray", gray) cv.waitKey(0) cv.destroyAllWindows() if __name__ == "__main__": main()
def main(): src = cv.imread("../imgs/opencv.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) hsv = cv.cvtColor(src, cv.COLOR_BGR2HSV) cv.imwrite("hsv.png", hsv) cv.imshow("hsv", hsv) # 分离通道 h, s, v = cv.split(hsv) cv.namedWindow("h", cv.WINDOW_NORMAL) cv.imshow("h", h) cv.namedWindow("s", cv.WINDOW_NORMAL) cv.imshow("s", s) cv.namedWindow("v", cv.WINDOW_NORMAL) cv.imshow("v", v) cv.waitKey(0) cv.destroyAllWindows() if __name__ == "__main__": main()
到此这篇关于opencv+图像处理(Image Processing in OpenCV) 4-0改变颜色空间的文章就介绍到这了,更多相关opencv图像处理改变颜色空间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
关键词:
为您推荐
-
这篇文章主要介绍了opencv+图像处理(ImageProcessinginOpenCV)4-0改变颜色空间,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考
23-04-22
-
截至2023年4月21日收盘,怡和嘉业(301367)报收于258 48元,下跌0 12%,换手率1 93%,成交量2922 0手,成交额7536 86万元。
23-04-22
-
2023年4月21日大河早点看人生因有梦想而充满动力,不怕你每天迈一小步,只怕你停滞不前;不怕你每天做一点事,只怕你无所
23-04-22
-
在上周举行的WTT新乡冠军赛2023女单1 8决赛中,她曾经直落三局击败同一名对手。具体复盘比赛时王艺迪重点提及首局较量,“第一局开局的时候自
23-04-22
-
再怎么累,我还是不愿意放手,我等着他告诉我我并没有错。(作者:佚名)太多次的离开,只是你的不挽留。假若你能开口说句 "陪我,好吗? "我
23-04-22
-
长江日报大武汉客户端4月21日讯(记者万旭明侯钰倩)随着《中国医生》《人生大事》等电影陆续热映,武汉与电影实现了越来越
23-04-22
-
文 羊城晚报全媒体记者梁怿韬随着广州在气候上达到 "入夏 "标准,广东大部分地方均已 "入夏 "。但 "入夏 "不意味着高温,甚至还将受到新一股
23-04-22
-
小伙伴们好,带大家回顾下男子在迪士尼抽烟闹事迪士尼回应男子逼哭上海迪士尼工作人员还“躺平网友都怒了园方回应,那么小纵今
23-04-22
-
新天绿能(600956)04月21日在投资者互动平台表示:您好,公司正在准备发行全球存托凭证并在瑞士证券交易所上市,详情请见公司已公告内容。感
23-04-22
-
食材采购日工作总结第1篇随着20xx新年的靠近,我们在20xx年的工作也即将要结束了,回顾这一年来,在领导的积极指挥下,我们各部门员工都在积极
23-04-22
-
据外媒报道,曼联和热刺都有意签下米兰的英格兰中卫托莫里,而法甲大巴黎也希望引入旧将迈尼昂,与多纳鲁马竞争上岗。特别是欧冠赛场对阵热刺
23-04-21
-
在423读书日,笔记侠计划举办一个423增长破局知识节的直播活动。因为,我们想通过直播的方式,为你呈现各种阅读、学习的方法。直播包括商业对
23-04-21
-
2023年04月21日13时02分,四维图新(002405)股票出现波动,股价大幅跳水6 81%。截至发稿,该股报12 57元 股,成交量61 698万手,换手
23-04-21
-
颈部淋巴结肿大的原因有哪些?一般可按颈部淋巴结肿大的部位、大小、质地、活动度、有无压痛来鉴别颈部淋 "><linkhref= "http: www szonlin
23-04-21
-
今年2月,《华尔街日报》曝光了一种新型的iPhone用户盗窃活动。该媒体再次发布了一份报告,详细披露了盗窃者如何使用苹果的恢复密钥选项来永久
23-04-21
-
新京报贝壳财经讯(记者许诺)4月20日,在vivo折叠系列及平板旗舰新品发布会上,vivo推出了新一代大折叠vivoX
23-04-21
-
联赢激光4月21日公布2022年年度分红预案:以3 37亿股股本为基数,向全体股东每10股派发现金红利1 2元(含税),合计派发现金红利总额为4047 51万元。
23-04-21
- 天天新资讯:opencv+图像处理(Image Processing in OpenCV) 4-0改变颜色空间的过程
- 今日观点!冬泉谷精英老虎任务 魔兽冬泉谷任务求坐标
- 全球头条:股票行情快报:怡和嘉业(301367)4月21日主力资金净卖出171.90万元
- 世界快报:大河早点看丨全球豫商大会今日在郑州举办;一季度河南省外贸进出口超2000亿元;今起,郑州发放6000万元家具消费券
- 热门看点:王艺迪 :郑怡静失误偏多比赛赢得较顺利 对阵王曼昱充分展现自我
- 环球百事通!关于爱错句子(关于爱错句子有哪些)
- 今日报丨程控交换机原理图讲解_程控交换机原理
- 环球热推荐:电影专家江城论道:武汉或可成为“长江电影”主要地域
- 环球热门:“入夏”的广东还有冷空气到访,未来几天雨持续
- 今日视点:春见皮和桔子皮的区别?