opencv图像处理学习(七)——颜色空间

本文介绍了OpenCV中常用的RGB、HSV和YUV颜色空间及其应用。详细解释了如何使用cvtColor函数进行颜色空间转换,并给出了RGB到HSV转换的具体公式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

opencv中常用的颜色空间包括RGB、HSV和YUV等。RGB颜色空间是基于三原色原理而形成的,常用于图像显示系统中;HSV描述的是色度、饱和度和亮度这些表示颜色的方法,常用于描述色彩变化,YUV是通过亮度与色度来描述颜色,色度由UV通道组合而成。

opencv中提供cvtColor函数来转换图像的颜色空间:void cvtColor(InputArray src,OutputArray dst,int code ,int dstCn=0)

该函数用于转换图像的颜色空间,Src是输入图像源,可以是8位CV_8U或16位CV_16U无符号整型,或单精度浮点数CV_32F;code是颜色空间的转换模式,常用的有CV_RGB2GRAY,CV_RGB2HSV,CV_BRG2HLS及CV_BGR2YCrCb等;dstCn是目标图像的多通道设置,设置为0则通道数自动从src与code处获取。

PS:opencv默认的颜色通道是BGR ,RGB转LUV通道时,需要对RGB归一化为32位浮点数,即各个通道的值的变化范围为0到1。

RGB空间下坐标(R、G、B)代表着相应的颜色空间,且RGB\epsilon(0,1),从RGB转HSV空间按下面公式:

V=max(R,G,B)

 S=\left\{\begin{matrix} \frac{V-min(R,G,B)}{V} (if V\neq 0 ) \\ 0 (if otherwise) \end{matrix}\right.

H=\left\{\begin{matrix} 60*(G-B)/(V-min(R,G,B))ifV=R \\ 120+60*\frac{B-R}{V-min(R,G,B)} if V=G \\ 240+60*\frac{R-G}{V-min(R,G,B)} if V=B \end{matrix}\right.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值