我对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函数如何知道给它的操作?有人可以向我解释一下吗?
答案 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