当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cucim.skimage.util.invert用法及代码示例


用法:

cucim.skimage.util.invert(image, signed_float=False)

反转图像。

反转输入图像的强度范围,使 dtype 最大值现在是 dtype 最小值,反之亦然。此操作根据输入 dtype 略有不同:

  • 无符号整数:从 dtype 最大值中减去图像
  • 有符号整数:从 -1 中减去图像(见注释)
  • 浮点数:从 1 中减去图像(如果 signed_float 为 False,因此我们假设图像是无符号的),或从 0 中减去(如果 signed_float 为 True)。

请参阅示例以进行说明。

参数

imagendarray

输入图像。

signed_float布尔型,可选

如果为 True 并且图像是浮点类型,则假定范围为 [-1, 1]。如果 False 并且图像是浮点类型,则假定范围为 [0, 1]。

返回

invertedndarray

倒象。

注意

理想情况下,对于有符号整数,我们只需乘以 -1。但是,有符号整数范围是不对称的。例如,对于 np.int8,可能值的范围是 [-128, 127],因此 -128 * -1 等于 -128!通过从 -1 中减去,我们正确地将最大 dtype 值映射到最小值。

例子

>>> import cupy as cp
>>> img = cp.asarray([[100,  0, 200],
...                     [  0, 50,   0],
...                     [ 30,  0, 255]], np.uint8)
>>> invert(img)
array([[155, 255,  55],
       [255, 205, 255],
       [225, 255,   0]], dtype=uint8)
>>> img2 = cp.asarray([[ -2, 0, -128],
...                      [127, 0,    5]], np.int8)
>>> invert(img2)
array([[   1,   -1,  127],
       [-128,   -1,   -6]], dtype=int8)
>>> img3 = cp.asarray([[ 0., 1., 0.5, 0.75]])
>>> invert(img3)
array([[1.  , 0.  , 0.5 , 0.25]])
>>> img4 = cp.asarray([[ 0., 1., -1., -0.25]])
>>> invert(img4, signed_float=True)
array([[-0.  , -1.  ,  1.  ,  0.25]])

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cucim.skimage.util.invert。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。