最常见的灰度值计算算法:
int gray = 0.3*red + 0.59*green + 0.11*blue;
这个算法可以满足一般的计算,但并非最快的。因为使用了浮点数计算,导致计算量加大,效率降低。
采用整数运算和位运算,大大降低计算量,提高速度:
int gray = (77*red + 150*green + 29*blue + 128) >> 8;
同一个设备上,这个算法可以达到14fps, 上个算法只能8fps.
最常见的灰度值计算算法:
int gray = 0.3*red + 0.59*green + 0.11*blue;
这个算法可以满足一般的计算,但并非最快的。因为使用了浮点数计算,导致计算量加大,效率降低。
采用整数运算和位运算,大大降低计算量,提高速度:
int gray = (77*red + 150*green + 29*blue + 128) >> 8;
同一个设备上,这个算法可以达到14fps, 上个算法只能8fps.