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