OpenCV中GRAY、HSV色彩空间的简介及与BGR色彩空间的转换演示(附源码 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~

色彩是人类的眼睛对于不同频率的光线的不同感受,不同频率的光线既是客观存在的又是人类主观感知的。为了表示这些不同频率的光线的色彩,人类建立了多种色彩模型,把这些色彩模型称作色彩空间。OpenCV中的BGR色彩空间有3个通道,即表示蓝色的B通道、表示绿色的G通道和表示红色的R通道

下面我们介绍另外两个比较常用的色彩空间:GRAY色彩空间和HSV色彩空间

一、GRAY色彩空间

GRAY色彩空间指的是灰度图像,灰度图像是一种每个像素都是从黑到白,被处理为256个灰度级别的单色图像,这256个灰度级别分别用区间(0,255)中的数值表示。其中0表示纯黑色,255表示纯白色,0-255的数值表示不同亮度的深灰色或者浅灰色,因此,一幅灰度图像也能够展现丰富的细节信息

OpenCV中用于转换图像色彩空间的cvtColor方法,其语法如下

dst=cv2.cvtColor(src,code)

src 转换前的初始图像

code 色彩控件转换吗

当图像从BGR色彩空间转换到GRAY色彩空间时,常用的色彩空间转换码是cv2.COLOR_BGR2GRAY

 下面将BGR色彩空间转换到GRAY色彩空间

 

import cv2

image = cv2.imread("5.1.jpg")
cv2.imshow("5.1", image)  # 显示图5.1
# 将图5.1从BGR色彩空间转换到GRAY色彩空间
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("GRAY", gray_image)  # 显示灰度图像
cv2.waitKey()
cv2.destroyAllWindows()

二、HSV色彩空间

HSV色彩空间是基于色调、饱和度和亮度而言的

其中色调H是指光的颜色,在OpenCV中 色调在区间(0,180)内取值,例如代表红色 黄色 绿色和蓝色的色调值分别为0 30 60 120

彩虹中的色调

 

饱和度S是指色彩的深浅,在OpenCV中 饱和度在区间(0,255)内取值,当饱和度为0时图像将变为灰度图

亮度V是指光的明暗,与饱和度相同的取值范围,亮度值越大,图像越亮

光的明暗

从BGR色彩空间转换到HSV色彩空间时转换码时cv2.COLOR_BGR2HSV

代码如下

import cv2

image = cv2.imread("5.1.jpg")
cv2.imshow("5.1", image) # 显示图5.1
# 将图5.1从BGR色彩空间转换到HSV色彩空间
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
cv2.imshow("HSV", hsv_image) # 用HSV色彩空间显示的图像
cv2.waitKey()
cv2.destroyAllWindows()

 创作不易 觉得有帮助请点赞关注收藏~~~

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值