全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 处理器/DSP >

IP库新增多种颜色转换空间IP简介

时间:2023-07-17 08:48

人气:

作者:admin

标签: HSI  RGB  AXI总线 

导读:颜色空间转换是图像及视频中常用的解决方案,涉及hsv-rgb、rgb-ycrcb等一些常见的颜色空间互相转换,今天带来几种常见的颜色空间转换IP...

颜色空间转换是图像及视频中常用的解决方案,涉及hsv-rgb、rgb-ycrcb等一些常见的颜色空间互相转换,今天带来几种常见的颜色空间转换IP,主要如下:

c2175074-2439-11ee-962d-dac502259ad0.png

IP库简介

一直想做一个可以供大家学习、使用的开源IP库,类似OpenCores,OC上IP在领域内的IP很少,通用性强一点,所以作为OC的“补充”,做了一个开源IP库,侧重点在领域的IP辅以工程或者仿真验证,一个人能力有限,欢迎大家能够共同构建,有什么问题可以提pr,谢谢~

RGB2HSL/HSL2RGB原理介绍

上面的IP大部分原理网上都有介绍,而且很详细,今天主要介绍RGB-HSL转换的原理。

HSL-色相、饱和度和强度

c22a3f2c-2439-11ee-962d-dac502259ad0.png

色调是从 0 到 360 的颜色范围,以角度量描述纯色。饱和度是从灰色阴影到全彩。颜色的饱和度称为色度。色度值越高,则清晰、明亮。最强的幅度是值,其范围对应于亮度,平衡幅度对应于强度。色调颜色描述纯色,而饱和度值确定纯色范围强度,亮度描述纯色范围。最大饱和度位于中等灰度强度处。100% 饱和度的颜色会产生最纯的颜色,0% 饱和度会产生灰度。0% 亮度的颜色是黑色,100% 亮度的颜色是明亮的颜色。

下面的角度值是色轮上的色调值。

0 度 – 红色

60度-黄色

120 度 – 绿色

180 度 – 青色

240度-蓝色

300 度 – 洋红色

360 度 – 红-洋红色

c263844e-2439-11ee-962d-dac502259ad0.png

RGB 三元组饱和度方程如下所示,其中最大值和最小值是在红色、绿色和蓝色通道之间计算的。它代表颜色的强度和圆锥体的半径。RGB 由等量的白光组成。当最大 RGB 分量减去最小 RGB 分量并除以最大 RGB 分量时,灰度强度被消除。因此,这种新颜色没有白光,饱和并且代表单一波长。

c2b7a9fc-2439-11ee-962d-dac502259ad0.png

从 RGB 转换为 HSL 以及从 HSL 转换为 RGB 时,通过增加 HSL 颜色空间的饱和度,RGB 颜色变得更强。

RGB 转 HSL

色相、饱和度和强度元素控制更宽的颜色范围以实现图像增强。来自摄像机的视频流是原始 RGB 颜色空间的格式,然后转换为 HSL 颜色空间。在HSL色彩空间中,通过将系数值乘以每个分量来线性更新当前的色调、饱和度和亮度,使图像颜色更明亮、更丰富多彩。将颜色增益应用于 HSL 后,HSL 颜色空间将转换回 RGB 颜色空间。在此过程中,对每个 HSL 元素应用乘法增益(权重)控制后,生成的增强图像颜色看起来自然且更明亮。

c2dacda6-2439-11ee-962d-dac502259ad0.pngc2f581f0-2439-11ee-962d-dac502259ad0.png

视频颜色处理模块中实现的rgb到HSL颜色空间采用HSL算法,并采用标准Xilinx AXI4流接口设计,因此可以作为模块插入任何图像处理管道中。

c33d5318-2439-11ee-962d-dac502259ad0.png

第一个逻辑计算 RGB 值的最大值和最小值。最大和最小 RGB 值是根据逻辑实现计算的,如下图所示。

c356b0ba-2439-11ee-962d-dac502259ad0.png

色调是通过确定最大 RGB 通道值的色调分数来计算的。如果当前最大通道颜色为红色,则仅当绿色大于蓝色时,色相分子才会设置为绿色减去蓝色,否则从绿色中减去蓝色,并且色相度数设置为 0 到 85。

如果当前通道最大颜色为绿色,则仅当蓝色大于红色时,色调分子才会设置为蓝色减去红色,否则从蓝色中减去红色,色调度将为86-171 。

类似地,如果当前通道最大颜色为蓝色,则仅当红色大于绿色时,色调分子才会设置为红色减去绿色,否则从红色中减去绿色,色调度将为172-255 。

c3929f58-2439-11ee-962d-dac502259ad0.png

色调分母为 RGB 增量。

c3bc4b5a-2439-11ee-962d-dac502259ad0.png

一旦计算出色相分数值,分数值将被添加到色相度数中,这将给出最终的色相值。饱和度值是根据 RGB 最大值和最小值与 RGB 最大值之间的差值计算的,而亮度值是 RGB 最大值。

c3df378c-2439-11ee-962d-dac502259ad0.png

该模块具有时钟和复位端口。iRGB端口由具有有效信号的红、绿、蓝颜色分量组成,用于将RGB像素转换为HSL像素。

c3f93970-2439-11ee-962d-dac502259ad0.png

RGB通道转换到HSL色彩空间的仿真结果如下图所示。

c422af80-2439-11ee-962d-dac502259ad0.png

HSL 转 RGB

视频颜色处理模块中实现的HSL-RGB颜色空间采用HSL到RGB转换算法,并采用标准Xilinx AXI4流接口进行设计,因此可以作为模块插入任何图像处理管道中。

c4474ad4-2439-11ee-962d-dac502259ad0.png

HSL 到 RGB 模块将输入 HSL 转换为 RGB 颜色空间。该模块具有时钟和复位端口。iRGB端口由具有有效信号的红、绿、蓝RGB通道组成,用于将RGB像素转换为HSL像素。

c4677f02-2439-11ee-962d-dac502259ad0.pngc48d00b0-2439-11ee-962d-dac502259ad0.png HSL转RGB实现框图






审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信