OpenCV阈值类型

时间:2016-04-25 10:57:46

标签: opencv

我对OpenCV关于基本阈值处理的示例有疑问,如以下链接所示:

http://docs.opencv.org/2.4/doc/tutorials/imgproc/threshold/threshold.html#goal

我慢慢开始理解代码,并尝试了一个例子。但是我对有关阈值操作的部分代码感到困惑。阈值函数如何知道要使用哪个阈值操作?

这就是所谓的地方:

threshold( src_gray, dst, threshold_value, max_BINARY_value,threshold_type);

我得到的最后一个参数&#34; threshold_type是它如何知道要使用哪个阈值操作(例如二进制,二进制反转,截断等)。但是在代码中,这是分配给threshold_type的所有内容:< / p>

int threshold_type = 3

因为它只被指定了一个3的int值.Threshold函数如何知道给它的操作?有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:0)

你应该避免使用数字文字来调用OpenCV的方法而不是使用opencv命名空间中定义的常量变量,但它不会在输出中产生任何差异,但它会使代码更具可读性,因此解密的输入集合到cv::threshold()方法是:

THRESH_BINARY     = 0,
THRESH_BINARY_INV = 1,
THRESH_TRUNC      = 2,
THRESH_TOZERO     = 3, 
THRESH_TOZERO_INV = 4,
THRESH_MASK       = 7,
THRESH_OTSU       = 8,
THRESH_TRIANGLE   = 16

根据此表,您使用thresholdType == THRESH_TOZERO