图像二值化方法 opencv

来源:互联网 发布:郑州淘宝网店加盟 编辑:程序博客网 时间:2024/06/03 08:21

本人是小白一枚,最近在学习OpenCV,想把自己学习的整理一下。有些是参考各位大神的,有些是自己总结的,如有问题,欢迎指摘。

邮箱:617340379@qq.com

图像二值化的方法
第一种,当然是threshold函数。该函数的基本思想是,给定一个输入数组(图片等)和一个阈值,遍历图像中的各点,根据阈值,最终将像素点的色值确定为两个值。
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,否则不改变
5: CV_THRESH_MASK =7,
6: CV_THRESH_OTSU =8 /* use Otsu algorithm to choose the optimal threshold value; combine the flag with one of the above CV_THRESH_* values */

第二种,很直白,自己写代码。

原创粉丝点击