OpenCV 阈值函数

OpenCV threshold function


我在 python 中寻找一个类似于 THRESH_TOZERO_INV 的 OpenCV 函数,但它不是 0,而是 returns maxvalue.
所以不是:
dst(x,y) =
{
 0         if src(x,y) > thresh
 src(x,y)  otherwise
}

我在找:

dst(x,y) =
{
 maxvalue  if src(x,y) > thresh
 src(x,y)  otherwise
}

有这样的选项吗?

如果您首先使用 THRESH_BINARY,maxval 为 1,那么您将得到一个包含 0s 和 1s 的二进制矩阵。称此矩阵为 M。它在 src(x,y) > thresh 处有一个 1,在其他任何地方都有一个 0

现在计算

maxvalue * M + src * (1-M)

其中 * 是逐元素矩阵乘积,1-M 表示所有 1 减去 M 的矩阵,即反转二进制矩阵 M