如何在Python中设置溢出减法以得到零?

meg*_*ery 4 python numpy image-processing

我试图找到特征与基线显着不同的区域。

为此,我从基础中减去当前图像,f得到b灰度二维图像矩阵。

diff = f - b

一些操作会导致溢出,这会导致高像素值区域,实际上它们应该设置为零。

在此输入图像描述

如何指定如果<则操作diff = f - b应为各个像素值生成 0 ?f[x][y]b[x][y]

Pau*_*zer 5

这是在 numpy 中执行此操作的一种方法,不需要转换为更大的整数类型:

f - b.clip(None, f)
Run Code Online (Sandbox Code Playgroud)

或者,等价地,

f - np.minimum(b, f)
Run Code Online (Sandbox Code Playgroud)