FPGA图像处理中的饱和度调节技巧

本文转载自:FPGA入门到精通微信公众号

在数字影像的世界里,色彩斑斓的画面总能引人入胜。而在这其中,饱和度调节技术就像一位光影魔术师,为图像注入活力与生机。

本文将详细介绍饱和度调节的知识、常用的算法以及FPGA实现。

一、饱和度知识介绍

S(Saturation)代表饱和度,它是描述颜色的一种属性,用来表示颜色的纯净度和鲜艳程度。

饱和度S表示颜色的纯净度,即颜色的鲜明程度。当饱和度S为1时,表示颜色完全饱和,即颜色是最纯净、最鲜明的;而当饱和度S为0时,表示颜色完全去饱和,即颜色变为灰度,没有鲜明的色彩。

饱和度S的变化会影响到颜色的外观,使得颜色变得更加鲜艳或者更加柔和。当饱和度增加时,颜色变得更加鲜艳;而当饱和度减小时,颜色变得更加柔和,甚至变为灰度。

饱和度调节的意义在于,它能够提升图像的视觉效果,使画面更具吸引力。

在不同应用场景下,通过调整饱和度,我们可以实现以下目的:

1、使图像色彩更加真实:在户外拍摄等场景中,饱和度调节可以还原场景的真实色彩,使图像更具说服力。

2、增强图像氛围:在处理风景、人像等题材时,适当提高饱和度,可以增强图像的氛围,提升画面的美感。

3、突出主题:在特定场景下,通过饱和度调节,可以突出图像的主题,使画面更具故事性。

二、饱和度调节方法

1、HSV/HSL颜色空间调节方法

(1)RGB转HSV/HSL

(2)通过改变饱和度值S,可以增强或减弱颜色的鲜明程度。通常,饱和度的调整可以是一个线性的过程,也可以是非线性的,依赖于具体的应用需求和视觉效果。

(3)HSV/HSL转RGB

2、融合HSL和RGB颜色空间计算方法

(1)设置调整参数percent,取值为-100到100,类似PS中设置,归一化后为-1到1。

(2)针对图像所有像素点单个处理。计算RGB三通道的最大值最小值,可进一步得到delta和value:

(3)若最大最小一致,即delta=0,则表明为灰点,不需继续操作,直接处理下个像素。

(4)通过value计算出HSL中的L值:

(3)S值为:

(6)当percent大于等于0时,即提高色彩饱和度,那么alpha值为:

此时,调整后的图像RGB三通道值为:

(7)若percent小于0时,即降低色彩饱和度,则alpha=percent,此时调整后的图像RGB三通道值为:

三、FPGA实现

方法1的实现,可以基于前面RGB与HSL互转的公式来增加,饱和度调节系数实现。

方法2的实现,按照计算公式用verilog实现就行。

这里可以看下FPGA实现的效果:

从左往右,分别是饱和度-0.5,原图,饱和度+0.5,颜色越来越鲜艳。

最新文章

最新文章