算法参考自:
https://en.wikipedia.org/wiki/Floyd–Steinberg_dithering (算法很简单,维基百科解释的相当精炼!)
http://blog.csdn.net/mathsoperator/article/details/7585898
OpenCV的效果图:
用 OpenCV 实现起来也是非常简单的!
如下所示:
uint8_t saturated_add(uint8_t val1, int8_t val2)
{
int16_t val1_int = val1;
int16_t val2_int = val2;
int16_t tmp = val1_int + val2_int;
if(tmp > 255)
{
return 255;
}
else if(tmp < 0)
{
return 0;
}
else
{
retur