OpenCV/C++ 中适当的阈值函数

proper thresholding function in opencv/c++

本文关键字:阈值 函数 C++ OpenCV      更新时间:2023-10-16

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

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

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

提前谢谢。

要使用 cv::阈值,请使用

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

您正确选择了Src1Last和阈值100。 仅当您使用 THRESH_BINARYTHRESH_BINARY_INV 作为类型时,才使用maxval

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

请记住,最好使用此参数的"名称"而不是它们的整数表示形式。如果你在几周内通读你的代码,cv::THRESH_TOZERO说出你需要的一切,其中3只是一个数字。