FPGA图像处理(6)常用算法:RGB图像转灰度图像

RGB 图像转灰度图像的计算,即由当前像素点的 RGB 值计算 YUV 色域的 Y 通道的数值

RGB 计算 Y 通道数值的计算公式:

Y = 0.299×R+0.587×G+0.114×B

在 FPGA 实现时,为了节约计算资源,将小数乘法转为整数乘法后截去低位

计算公式改为:


除以 216 的计算在 FPGA 中用截去低 16 位实现。

sysgen 中实现 RGB 转灰度的示意图如下:


用 CMult 模块实现与常整数的乘法,19595 模块配置如下:


常数值位宽定义为 16 位方便与其它各乘法统一积值位宽,38469 模块和 7472 模块同样使用位宽 16 的配置。

最后的除以 216 的计算用 Slice 模块截去低 16 位后,向高位取与输入像素点相同的位宽。

由于,算法原理就保证了 Y 值有效范围与 RGB 一致,因此使用与输入 RGB 相同的位宽。

Slice 模块的配置如下:


版权声明:本文为CSDN博主「bt_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/botao_li/article/details/100550964

最新文章

最新文章