这是个简单的算法,是全局二值算法的一种,算法执行速度快. 算法过程简单描述如下: 对于每一个像素,做如下处理 1.计算当前像素水平和垂直方向的梯度. (two gradients are calculated |I(x + 1, y) - I(x - 1, y)| and |I(x, y + 1) - I(x, y - 1)|); 2.取两个梯度的最大值作为权重.(weight is calculated as maximum of two gradients); 3.更新权重的和
原理:RGB颜色根据计算'灰度'的公式,可以转化为黑白2种颜色,实现二值化. 业务场景的应用:可以根据背景颜色,取一个黑色或白色的颜色,作为背景色上的文案字体颜色 具体代码: function getTextColor(backgroundColor){ var threshold = 128;//阈值 var r = parseInt(backgroundColor.substring(0,2),16) * 0.3; var g = parseInt(backgroundColor.subst