opencv--函数threshold()

------------恢复内容开始------------

opencv函数threshold()

double    cv::threshold     (     InputArray      src,OutputArray      dst,double      thresh,double      maxval,int      type)

Python:   retval, dst    =    cv.threshold(    src, thresh, maxval, type[, dst]    )

 

对每个数组元素应用固定级别的阈值。

该功能将固定级别的阈值应用于多通道阵列。该功能通常用于从灰度图像中获取双层(二进制)图像(比较也可以用于此目的)或用于去除噪声,即滤除具有太小或太大值的像素。该功能支持几种类型的阈值处理。它们由类型参数确定。

同样,特殊值THRESH_OTSU或THRESH_TRIANGLE可以与上述值之一组合。在这些情况下,该函数使用Otsu或Triangle算法确定最佳阈值,并使用该阈值代替指定的阈值.

note:

当前,仅对8位单通道图像实现Otsu和Triangle方法。

Parameters参数

src    input array (multiple-channel, 8-bit or 32-bit floating point).

  输入数组(多通道,8位或32位浮点数)。

dst    output array of the same size and type and the same number of channels as src.

   与src具有相同大小,类型和相同通道数的输出数组。

thresh    threshold value.

    阈值

maxval    maximum value to use with the THRESH_BINARY and THRESH_BINARY_INV thresholding types..  

      THRESH_BINARY和THRESH_BINARY_INV阈值类型使用的最大值。

type    thresholding type (see ThresholdTypes).

   阈值类型(请参阅ThresholdTypes)。

ThresholdTypes(阈值类型)

THRESH_BINARY 
Python: cv.THRESH_BINARY

 表示阈值的二值化操作,大于阈值使用maxval表示,小于阈值使用0表示

dst(x,y)={maxval0if src(x,y)>threshotherwise
THRESH_BINARY_INV 
Python: cv.THRESH_BINARY_INV

 表示阈值的二值化翻转操作,大于阈值的使用0表示,小于阈值的使用最大值表示

dst(x,y)={0maxvalif src(x,y)>threshotherwise
THRESH_TRUNC 
Python: cv.THRESH_TRUNC

表示进行截断操作,大于阈值的使用阈值表示,小于阈值的不变 

dst(x,y)={thresholdsrc(x,y)if src(x,y)>threshotherwise
THRESH_TOZERO 
Python: cv.THRESH_TOZERO

 表示进行化零操作,大于阈值的不变,小于阈值的使用0表示

dst(x,y)={src(x,y)0if src(x,y)>threshotherwise
THRESH_TOZERO_INV 
Python: cv.THRESH_TOZERO_INV

 表示进行化零操作的翻转,大于阈值的使用0表示,小于阈值的不变

dst(x,y)={0src(x,y)if src(x,y)>threshotherwise
THRESH_MASK 
Python: cv.THRESH_MASK
 
THRESH_OTSU 
Python: cv.THRESH_OTSU

flag, use Otsu algorithm to choose the optimal threshold value

THRESH_TRIANGLE 
Python: cv.THRESH_TRIANGLE

flag, use Triangle algorithm to choose the optimal threshold value

posted @ 2021-03-14 21:35  蓝莓DeepL  阅读(480)  评论(0)    收藏  举报