opencv / c ++中正确的阈值处理函数

时间:2013-11-04 06:54:48

标签: c++ opencv image-processing

我是图像处理和opencv的新手。我需要阈值我的灰度图像。图像包含0到1350之间的所有值,我想保留所有超过100的值。我在opencv中找到了这个函数:

cv::threshold( Src1, Last, 100, max_BINARY_value,3);

我不知道我应该在max_BINARY_value部分写什么,而且我不知道是否正确选择了最后一项。

提前致谢。

1 个答案:

答案 0 :(得分:1)

要使用cv::threshold,请使用

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

您正确选择了Src1Last和您的门槛100maxval仅在您使用THRESH_BINARYTHRESH_BINARY_INV作为类型时使用。

您要使用的是cv::THRESH_TOZERO类型。 Ths将所有值保持在阈值之上,并将所有其他值设置为零。

请记住,最好使用此参数的“名称”而不是它们的整数表示。如果您在几周内阅读了代码cv::THRESH_TOZERO说明了您需要的所有内容,3只是一个数字。