0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

OpenFPGA 来源:OpenFPGA 2023-07-17 08:48 次阅读

颜色空间转换是图像及视频中常用的解决方案,涉及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实现框图






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RGB
    RGB
    +关注

    关注

    4

    文章

    763

    浏览量

    57412
  • 图像处理器
    +关注

    关注

    1

    文章

    96

    浏览量

    15322
  • AXI总线
    +关注

    关注

    0

    文章

    65

    浏览量

    14158
  • HSI
    HSI
    +关注

    关注

    0

    文章

    11

    浏览量

    8547

原文标题:IP库新增多种颜色转换空间IP

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IP简介

    本帖最后由 eehome 于 2013-1-5 09:59 编辑 IP简介IP核是指:将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器、SDRAM控制器、PCI接口等等设计成可修改
    发表于 07-06 14:15

    IP简介

    IP简介IP核是指:将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器、SDRAM控制器、PCI接口等等设计成可修改参数的模块,让其它用户可以直接调用这些模块,以避免重复劳动。随着CPLD
    发表于 07-15 14:46

    如何做显示多种颜色的流水灯?

    可以显示四种颜色的控件。最后采用的方法是,用两个布尔控件,设置成四个值,然后把两个布尔控件重合在一起,再设置其可见性,只有一个可以显示,这样就可以显示四种状态的值,具体可以看一下附件。 但是这样做,流水灯的控制就显示相当的麻烦,因此想问一下各位有没有更加简单是方法?比如说,自己创建控件一个控件。
    发表于 11-17 22:34

    波形图表的背景颜色可以分割显示成多种颜色

    我是学习labview的新人,很多问题要请教大家,还请大家多多指教,谢谢啦。波形图表的背景颜色可以分割显示成多种颜色吗?例如一个波形图表的上中下三部分背景是三种不同的颜色
    发表于 07-08 13:22

    分享多种颜色识别给你们

    通过摄像头实现多种颜色识别
    发表于 01-10 09:29

    怎么让液晶把每种颜色都显示一遍

    原子哥哥,我想让液晶吧每种颜色都显示一遍,可是有很多种颜色为显示出来?#头文件int main( void ){u16i ; 初始化; do {LCD_Clear( i );i++;delay_ms
    发表于 03-04 06:35

    Ethernet/IP(EIP)简介

      Ethernet/IP(EIP)简介  EtherNet/IP为由ODVA协会(Open DeviceNet Vendors Association)管理的工业以太网通讯协议,其名称中IP
    发表于 03-13 17:27

    TCP/IP协议简介

    TCP/IP协议简介 TCP/IP传输层协议概揽 传输控制协议 TCP 是一
    发表于 06-09 23:07 1245次阅读
    TCP/<b class='flag-5'>IP</b>协议<b class='flag-5'>简介</b>

    IP over WDM原理简介

    IP over WDM原理简介 IP over WDM的基本工作原理是光纤直接与光耦合器相连,耦合器把各波长分开或组合,输入和输出端都用简单的光纤连
    发表于 04-07 16:07 779次阅读

    iPhone7颜色已出!保留原有3种颜色新增“双黑”版本

    北京时间8日凌晨1点,苹果将发布新一代iPhone7。根据苹果消息爆料“名人”郭明池的消息,iPhone7将共具有5种颜色,除了之前有过的玫瑰金、金色和银色(深空灰色取消),还增加了深黑和钢琴黑两种颜色版本,但是钢琴黑会限量供应。
    发表于 09-08 00:25 663次阅读

    易于设计RGB多种颜色的LED驱动器方案

    视频简介:安森美半导体推出一种创新的、易于设计的RGB(红绿蓝)LED驱动器方案,使实现基于混合RGB的1600万种颜色成为可能,以创建多种汽车内部光颜色。安森美半导体的NCV7430
    的头像 发表于 03-12 06:02 5617次阅读

    图像处理的颜色空间及其OpenCV实现

    对图像的颜色空间做了一个概念性的介绍,并通过代码的方式可视化了每种颜色空间的每个通道所表示的意义。   文章内容包括: 什么是颜色
    的头像 发表于 12-25 11:36 1476次阅读

    图像的颜色空间及其OpenCV实现

    对图像的颜色空间做了一个概念性的介绍,并通过代码的方式可视化了每种颜色空间的每个通道所表示的意义。   文章内容包括: 什么是颜色
    的头像 发表于 12-26 11:33 1793次阅读
    图像的<b class='flag-5'>颜色</b><b class='flag-5'>空间</b>及其OpenCV实现

    颜色空间有哪些类别 如何在OpenCV中实现

    对图像的颜色空间做了一个概念性的介绍,并通过代码的方式可视化了每种颜色空间的每个通道所表示的意义。
    的头像 发表于 02-07 15:15 544次阅读
    <b class='flag-5'>颜色</b><b class='flag-5'>空间</b>有哪些类别 如何在OpenCV中实现

    IP新增10多个功能IP简介

    一直想做一个可以供大家学习、使用的开源IP库,类似OpenCores,OC上IP在领域内的IP很少,通用性强一点,所以作为OC的“补充”,所以做了一个开源IP库,
    的头像 发表于 05-06 09:16 587次阅读
    <b class='flag-5'>IP</b>库<b class='flag-5'>新增</b>10多个功能<b class='flag-5'>IP</b><b class='flag-5'>简介</b>