【RGB=HSI】单片机控制RGB单灯与HSI互转算法

本文记录了作者在单片机项目中实现RGB补光灯控制时,遇到的HSI颜色模型转换问题。通过自行推算得出HSI转RGB函数,并在大佬帮助下优化了RGB转HSI的算法。介绍了HSI模型的H(色调)、S(饱和度)、I(强度)三个参数。代码实现采用C语言,注意到了浮点数处理和精度问题,欢迎探讨优化方案。

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

最近在做一个RGB补光灯的小玩意儿,项目上有一个OLED屏幕显示当前灯光的HSI参数,对于HSI我是完全陌生的,由于时间紧任务重,我也没想过去百度一下HSI是个啥,直接拿着样品测试了一组参数,自己去演算了一个HSI转RGB的函数,虽然花了不少时间,还存在一点误差,误差主要是范围的问题,RGB的范围应该是0-255,我演算的时候为了方便计算将范围设置为0-100,最终结果算是好的吧。

但是在RGB转HSI的时候,已经没有时间去推算了,这才想起来去请教身边的一位大佬,这才知道HSI颜色模型是个啥,还给我普及了这个互转算法,拿来给我优化使用,在这记录一下优化后C语言写法,随便参考一下百科对HSI的介绍,加深理解。

HSI〔Hue-Saturation-Intensity(Lightness),HSI或HSL〕颜色模型用H、S、I三参数描述颜色特性,其中H定义颜色的频率,称为色调;S表示颜色的深浅程度,称为饱和度;I表示强度或亮度。

HSI 颜色模型中的H 分量是确定颜色的主要因素,当它发生变化时色调值也将变化;S 分量越大(接近1),颜色越纯,S 分量越小(接近0),颜色越接近纯灰色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值