基于FPGA的RGB转HSV图像算法设计

一、什么HSV色彩空间

RGB色彩空间是基于三基色而言,即红色、绿色、蓝色。而HSV色彩空间则是基于色调、饱和度和亮度而言的。

色调(H)是指光的颜色,例如,彩虹中的赤,橙,黄,绿,青,蓝,紫分别表示不同的色调。在OpenCV中,色调在区间[0,180]内取值。例如,代表红色、黄色、绿色和蓝色的色调值分别为0、30、60和120。

饱和度(S)值色彩的深浅。饱和度在区间[0,255]内取值。当饱和度为0时,图像将变为灰度图像。

亮度(V)指光的明暗。与饱和度相同,亮度在区间[0,255]内取值。亮度值越大,图像越亮;当亮度值为0时,图像呈纯黑色。

二、HSV模型

基于FPGA的RGB转HSV图像算法设计_第1张图片

基于FPGA的RGB转HSV图像算法设计_第2张图片


这个模型就是按色彩、深浅、明暗来描述的。

H是色彩;

S是深浅, S = 0时,只有灰度;

V是明暗,表示色彩的明亮程度,但与光强无直接联系。 

三.RGB和HSV的关系

        把RGB三维坐标的中轴线立起来,并扁化,就能形成HSV的锥形模型了。但V与强度无直接关系,因为它只选取了RGB的一个最大分量。而RGB则能反映光照强度(或灰度)的变化。

基于FPGA的RGB转HSV图像算法设计_第3张图片

 由RGB到HSV的转换:HSV对用户来说是一种直观的颜色模型。我们可以从一种纯色彩开始,即指定色彩角H,并让V=S=1,然后我们可以通过向其中加入黑色和白色来得到我们需要的颜色。增加黑色可以减小V而S不变,同样增加白色可以减小S而V不变。例如,要得到深蓝色,V=0.4 S=1 H=240度。要得到淡蓝色,V=1 S=0.4 H=240度。

四.FPGA框架设计

基于FPGA的RGB转HSV图像算法设计_第4张图片

五.测试 

编写一个测试TB,输入RGB的颜色为纯红色,检测输出的HSV是不是和理论值一样。基于FPGA的RGB转HSV图像算法设计_第5张图片

基于FPGA的RGB转HSV图像算法设计_第6张图片

总结

测试结果如下图所示,与理论值一样,H=0.

你可能感兴趣的:(FPGA学习,fpga开发,图像处理)