OpenCV函数threshold的使用

来源:互联网 发布:vender软件 编辑:程序博客网 时间:2024/06/10 00:09

在OpenCV中,threshold用来进行对图像(二维数组)的二值化阈值处理


通过查找opencv在线文档,发现存在很多函数:


其函数原型如下:


1. C版本的:

函数原型:

void cvThreshold( const CvArr* src, CvArr* dst, double threshold,double max_value, int threshold_type );

src,dst: 不必多说,其要求类型一致性;

threshold:需要设置的阈值,当像素值大于某个数字时,设定一个值,否则为另外一个值。(二值化~)

max_value:最大值;

threshold_type:可以指定阈值化的类型;

具体如下所示:
threshold_type=CV_THRESH_BINARY:
dst(x,y) = max_value, if src(x,y)>threshold
                0, otherwise

threshold_type=CV_THRESH_BINARY_INV:
dst(x,y) = 0, if src(x,y)>threshold
                max_value, otherwise

threshold_type=CV_THRESH_TRUNC:
dst(x,y) = threshold, if src(x,y)>threshold
                src(x,y), otherwise

threshold_type=CV_THRESH_TOZERO:
dst(x,y) = src(x,y), if (x,y)>threshold
                0, otherwise

threshold_type=CV_THRESH_TOZERO_INV:
dst(x,y) = 0, if src(x,y)>threshold
                src(x,y), otherwise

2. OpenCL版本:

函数原型:

C++: double ocl::threshold(const oclMat&src, oclMat&dst, double thresh, doublemaxVal, inttype=THRESH_TRUNC)