如果不想丢失数据精度,一定要使用浮点数,可以使用vivado提供的计算浮点数的IP核
参考资料 下面的方法是将浮点数转定点数,在提取图像亮度信息中有使用
浮点数计算公式
Y = 0.299*R + 0.587*G + 0.114*B;
Cb = -0.169*R - 0.331*G + 0.5 *B ;
Cr = 0.5 *R - 0.419*G - 0.081*B;
定点数计算公式:先将小数扩大为整数,然后通过移位实现除法
Y = (77 *R + 150*G + 29 *B)>>8
Cb = (-43*R - 85 *G + 128*B + 32768)>>8
Cr = (128*R - 107*G - 21 *B + 32768)>>8