方法是通过遍历灰度图中点,将图像信息二值化,处理过后的图片只有二种色值。函数原型如下:
double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type);
其中:
第一个参数,InputArray 类型的 src,输入数组,填单通道 , 8 或 32 位浮点类型的Mat 即可。
第二个参数,OutputArray 类型的 dst,函数调用后的运算结果存在这里,即这个数用于存放输出结果,且和第一个参数中的 Mat 变量有一样的尺寸和类型。
第三个参数,double 类型的 thresh,阈值的具体值。
, double 类 型 的 maxval , 当 第 五 个 参 数 阈 值 类 型 type 取THRESH_BINARY 或 THRESH_BINARY_INV 阈值类型时的最大值。
第五个参数,int 类型的 type,阈值类型。其它参数很好理解,我们来看看第五个参数,第五参数有以下几种类型
0: THRESH_BINARY 当前点值大于阈值时,取 Maxval,也就是第四个参数,下面再不说明,否则设置为 0。
1: THRESH_BINARY_INV 当前点值大于阈值时,设置为 0,否则设置为 Maxval。
2: THRESH_TRUNC 当前点值大于阈值时,设置为阈值,否则不改变。
3: THRESH_TOZERO 当前点值大于阈值时,不改变,否则设置为 0。
4: THRESH_TOZERO_INV 当前点值大于阈值时,设置为 0,否则不改变。
官方解释如下图: