OpenCV第五章

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


OpenCV第五章

色彩空间与通道


一、HSV色彩空间

H(色调)指的是光的颜色。色调在[0,180]中取值。如红色黄色绿色蓝色分别色调值为0,30,60,120.
S(饱和度)指的是色彩的深浅,在[0,255]中取值,饱和度为零是为灰度图像。
V(亮度)指的是光的明暗,也是[0,255]中取值,亮度越大图像越亮,为0时图片为纯黑色。

二、色彩空间转换

dst=cv2.cvtColor(src,code)
dst:转换后的图像
src:转换前的初始图像
code:色彩空间转换码
当code等于cv2.COLOR_BGR2GRAY
BGR色彩空间转换成GRAY色彩空间
以此类推
BGR2HSV即可BGR转换成HSV色彩空间

三、拆分合并通道

使用split()方法可以拆分图像中的通道

import cv2
import numpy as np
img =cv2.imread("1.jpg")
m=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)#转换HSV色彩空间
b,g,r=cv2.split(img)#拆分BGR图像
h,s,v=cv2.split(m)#拆分HSV图像

使用merge()方法合并通道
bgr=cv2.merge([b,g,r])
按照B-G-R的顺序合并后得到图像bgr

对于HSV色彩空间,拆分后改变其中一个通道的值可以得到相当的艺术效果,为了显示艺术效果,需要将合并后的图像转换成BGR色彩空间

import cv2
import numpy as np
img =cv2.imread("1.jpg")
m=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)#转换HSV色彩空间
h,s,v=cv2.split(m)#拆分HSV
s[:,:]=150#调整A通道
anss=cv2.merge([h,s,v])#合并
ans=cv2.cvtColor(anss,cv2.COLOR_HSV2BGR)#转换成bgr
cv2.imshow("show",ans)
cv2.waitKey()
cv2.destroyAllWindows()

结果如下
在这里插入图片描述

四、alpha通道

BGR色彩空间的基础上增加一个A(透明度)通道即可得到BGRA色彩空间
取值在[0,255]
0表示透明 255表示不透明

import cv2
import numpy as np
img =cv2.imread("1.jpg")
m=cv2.cvtColor(img,cv2.COLOR_BGR2BGRA)#转换BGRA色彩空间
b,g,r,a=cv2.split(m)#拆分BGRA
a[:,:]=150#调整A通道
anss=cv2.merge([b,g,r,a])#合并得到半透明图片
cv2.imwrite("2s.png",anss)#PNG图像是典型的4通道图像BGRA,于是需要保存为png格式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值