【问题标题】:proper thresholding function in opencv/c++opencv/c++ 中的适当阈值函数
【发布时间】:2016-05-12 14:13:54
【问题描述】:

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

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

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

提前致谢。

【问题讨论】:

  • 哪个阈值模式的值为 3? THRESH_ZERO?

标签: c++ opencv image-processing


【解决方案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 只是一个数字。

【讨论】:

  • 感谢您的回答和好点。我将尝试使用宏而不是仅使用数字。再次感谢:)
猜你喜欢
  • 2018-07-06
  • 2014-10-23
  • 2014-06-30
  • 1970-01-01
  • 2014-04-03
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
  • 1970-01-01
相关资源
最近更新 更多